<SEC-DOCUMENT>0001174947-24-000243.txt : 20240221
<SEC-HEADER>0001174947-24-000243.hdr.sgml : 20240221
<ACCEPTANCE-DATETIME>20240221170150
ACCESSION NUMBER:		0001174947-24-000243
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		101
CONFORMED PERIOD OF REPORT:	20231231
FILED AS OF DATE:		20240221
DATE AS OF CHANGE:		20240221

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			STURM RUGER & CO INC
		CENTRAL INDEX KEY:			0000095029
		STANDARD INDUSTRIAL CLASSIFICATION:	ORDNANCE & ACCESSORIES, (NO VEHICLES/GUIDED MISSILES) [3480]
		ORGANIZATION NAME:           	04 Manufacturing
		IRS NUMBER:				060633559
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-10435
		FILM NUMBER:		24660740

	BUSINESS ADDRESS:	
		STREET 1:		1 LACEY PLACE
		CITY:			SOUTHPORT
		STATE:			CT
		ZIP:			06490
		BUSINESS PHONE:		2032597843

	MAIL ADDRESS:	
		STREET 2:		1 LACEY PLACE
		CITY:			SOUTHPORT
		STATE:			CT
		ZIP:			06490
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>rgr-20231231.htm
<DESCRIPTION>10-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:dtr="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:ecd="http://xbrl.sec.gov/ecd/2023" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:compsci="http://compsciresources.com" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:us-types="http://fasb.org/us-types/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:rgr="http://ruger.com/20231231" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/1999/xhtml">
<head>
     <title> </title>

<meta content="text/html" http-equiv="Content-Type"/>
</head>
<body><div style="font: 10pt Times New Roman, Times, Serif"><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">SECURITIES AND EXCHANGE COMMISSION</p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">WASHINGTON, D.C. 20549</p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">FORM <ix:nonNumeric contextRef="c0" name="dei:DocumentType" id="ixv-15205">10-K</ix:nonNumeric></p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">FOR ANNUAL AND TRANSITION REPORTS</p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">PURSUANT TO SECTION 13 OR 15(d) THE SECURITIES
EXCHANGE ACT OF 1934</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">(Mark One)</p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left"><ix:nonNumeric contextRef="c0" format="ixt:fixed-true" name="dei:DocumentAnnualReport" id="ixv-15206">&#9746;</ix:nonNumeric> ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES
EXCHANGE ACT OF 1934</p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">For the fiscal year ended <ix:nonNumeric contextRef="c0" format="ixt:date-monthname-day-year-en" name="dei:DocumentPeriodEndDate" id="ixv-15207"><ix:nonNumeric contextRef="c0" format="ixt:date-monthname-day-en" name="dei:CurrentFiscalYearEndDate" id="ixv-15208">December 31</ix:nonNumeric>, <ix:nonNumeric contextRef="c0" name="dei:DocumentFiscalYearFocus" id="ixv-15209">2023</ix:nonNumeric></ix:nonNumeric></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">OR</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left"><ix:nonNumeric contextRef="c0" format="ixt:fixed-false" name="dei:DocumentTransitionReport" id="ixv-15210">&#9744;</ix:nonNumeric> TRANSITION REPORT PURSUANT TO SECTION
13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">For the transition period from ____________ to
___________</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Commission File Number <ix:nonNumeric contextRef="c0" name="dei:EntityFileNumber" id="ixv-15211">0-4776</ix:nonNumeric></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p><div>

</div><p style="font: bold 14pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><ix:nonNumeric contextRef="c0" name="dei:EntityRegistrantName" id="ixv-15212">STURM, RUGER &amp; COMPANY, INC.</ix:nonNumeric></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">(Exact Name of Registrant as Specified in Its
Charter)</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; border-collapse: collapse"> <tr style="font: bold 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: bold 10pt Times New Roman, Times, Serif; width: 52%; padding-right: 4pt; padding-left: 4pt; text-align: center"><ix:nonNumeric contextRef="c0" format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode" id="ixv-15213">Delaware</ix:nonNumeric></td> <td style="font: bold 10pt Times New Roman, Times, Serif; width: 48%; padding-right: 4pt; padding-left: 4pt; text-align: center"><ix:nonNumeric contextRef="c0" name="dei:EntityTaxIdentificationNumber" id="ixv-15214">06-0633559</ix:nonNumeric></td></tr> <tr style="vertical-align: top"> <td style="padding-right: 4pt; padding-left: 4pt; font-size: 10pt; text-align: center">(State or Other Jurisdiction of Incorporation or Organization)</td> <td style="padding-right: 4pt; padding-left: 4pt; font-size: 10pt; text-align: center">(I.R.S. Employer Identification No.)</td></tr> </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; border-collapse: collapse"> <tr style="font: bold 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: bold 10pt Times New Roman, Times, Serif; width: 52%; padding-right: 4pt; padding-left: 4pt; text-align: center"><ix:nonNumeric contextRef="c0" name="dei:EntityAddressAddressLine1" id="ixv-15215">1 Lacey Place</ix:nonNumeric>, <ix:nonNumeric contextRef="c0" name="dei:EntityAddressCityOrTown" id="ixv-15216">Southport</ix:nonNumeric>, <ix:nonNumeric contextRef="c0" format="ixt-sec:stateprovnameen" name="dei:EntityAddressStateOrProvince" id="ixv-15217">Connecticut</ix:nonNumeric></td> <td style="font: bold 10pt Times New Roman, Times, Serif; width: 48%; padding-right: 4pt; padding-left: 4pt; text-align: center"><ix:nonNumeric contextRef="c0" name="dei:EntityAddressPostalZipCode" id="ixv-15218">06890</ix:nonNumeric></td></tr> <tr style="vertical-align: top"> <td style="padding-right: 4pt; padding-left: 4pt; text-align: center">(Address of Principal Executive Offices)</td> <td style="padding-right: 4pt; padding-left: 4pt; text-align: center">(Zip Code)</td></tr> </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>&#160;</b></p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><ix:nonNumeric contextRef="c0" name="dei:CityAreaCode" id="ixv-15219">(203)</ix:nonNumeric> <ix:nonNumeric contextRef="c0" name="dei:LocalPhoneNumber" id="ixv-15220">259-7843</ix:nonNumeric></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">(Registrant&#8217;s telephone number, including
area code)</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Securities registered pursuant to Section
12(b) of the Act:</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"> <tr style="vertical-align: top"> <td style="width: 40%; padding-right: 4pt; padding-left: 4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title of Each Class</span></td> <td style="width: 20%; padding-right: 4pt; padding-left: 4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trading Symbol(s)</span></td> <td style="width: 40%; padding-right: 4pt; padding-left: 4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name of Each Exchange on Which Registered</span></td></tr> <tr style="font: bold 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: bold 10pt Times New Roman, Times, Serif; padding-right: 4pt; padding-left: 4pt; text-align: center"><ix:nonNumeric contextRef="c0" name="dei:Security12bTitle" id="ixv-15221">Common Stock, $1 par value</ix:nonNumeric></td> <td style="font: bold 10pt Times New Roman, Times, Serif; padding-right: 4pt; padding-left: 4pt; text-align: center"><ix:nonNumeric contextRef="c0" name="dei:TradingSymbol" id="ixv-15222">RGR</ix:nonNumeric></td> <td style="font: bold 10pt Times New Roman, Times, Serif; padding-right: 4pt; padding-left: 4pt; text-align: center"><ix:nonNumeric contextRef="c0" format="ixt-sec:exchnameen" name="dei:SecurityExchangeName" id="ixv-15223">New York Stock Exchange</ix:nonNumeric></td></tr> </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">
&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Securities registered pursuant to Section 12(g)
of the Act:</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">None</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">(Title of Class)</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Indicate by check mark if the registrant is a well-known seasoned issuer,
as defined in Rule 405 of the Securities Act. &#160;<b><span style="-sec-ix-hidden: hidden-fact-0">YES</span> </b>&#9746; <b>NO </b>&#9744;&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Indicate by check mark if the registrant is not required to file reports
pursuant to Section 13 or Section 15(d) of the Act. <b>YES </b>&#9744; <b><span style="-sec-ix-hidden: hidden-fact-1">NO</span> </b>&#9746;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Indicate by check mark whether registrant (1)
has filed all reports required to be filed by Section 13 or Section 15(d) of the Securities Exchange Act of 1934 during the preceding
12 months (or shorter such period of time that the registrant was required to file such reports), and (2) has been subject to such filing
requirements for the past 90 days. <b><span style="-sec-ix-hidden: hidden-fact-2">YES</span> </b>&#9746; <b>NO </b>&#9744;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Indicate by check mark whether the registrant
has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (&#167; 232.405
of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files). <b><span style="-sec-ix-hidden: hidden-fact-3">YES</span>
</b>&#9746; <b>NO </b>&#9744;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Indicate by check mark whether the
registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging
growth company. See definition of &#8220;accelerated filer,&#8221; &#8220;large accelerated filer,&#8221; &#8220;smaller reporting
company,&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act. <ix:nonNumeric contextRef="c0" format="ixt-sec:entityfilercategoryen" name="dei:EntityFilerCategory" id="ixv-15224">Large accelerated filer</ix:nonNumeric> &#9746;
&#160;&#160; Accelerated filer &#9744; &#160;&#160; Non-accelerated filer &#9744; &#160;&#160; Smaller reporting company <ix:nonNumeric contextRef="c0" format="ixt:fixed-false" name="dei:EntitySmallBusiness" id="ixv-15225">&#9744;</ix:nonNumeric>
&#160;&#160; Emerging growth company <ix:nonNumeric contextRef="c0" format="ixt:fixed-false" name="dei:EntityEmergingGrowthCompany" id="ixv-15226">&#9744;</ix:nonNumeric></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">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>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Indicate by check mark whether the registrant
has filed a report on and attestation to its management&#8217;s assessment of the effectiveness of its internal control over financial
reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C 7262(b)) by the registered public accounting firm that prepared or
issued its audit report. <ix:nonNumeric contextRef="c0" format="ixt:fixed-true" name="dei:IcfrAuditorAttestationFlag" id="ixv-15227">&#9746;</ix:nonNumeric></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">If securities are registered pursuant to Section
12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction
of an error to previously issued financial statements. <b>YES </b>&#9744; <b>NO </b><ix:nonNumeric contextRef="c0" format="ixt:fixed-false" name="dei:DocumentFinStmtErrorCorrectionFlag" id="ixv-15228">&#9746;</ix:nonNumeric>&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Indicate by check mark whether any of those error
corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant&#8217;s
executive officers during the relevant recovery period pursuant to &#167;240.10D-1(b). &#9744;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Indicate by check mark whether the registrant
is a shell company (as defined in Rule 12b-2 of the Exchange Act). <b>YES </b>&#9744; <b>NO </b><ix:nonNumeric contextRef="c0" format="ixt:fixed-false" name="dei:EntityShellCompany" id="ixv-15229">&#9746;</ix:nonNumeric>&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The aggregate market value of the voting and non-voting
common equity held by non-affiliates of the registrant 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 June 30, 2023:</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>Common Stock, $1 par value - $<ix:nonFraction contextRef="c1" decimals="0" format="ixt:num-dot-decimal" name="dei:EntityPublicFloat" scale="0" unitRef="usd" id="ixv-15230">1,112,555,000</ix:nonFraction></i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 1 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->1<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The number of shares outstanding of the registrant's
common stock as of February 15, 2024: <i>Common Stock, $1 par value &#8211;<ix:nonFraction contextRef="c2" decimals="INF" format="ixt:num-dot-decimal" name="dei:EntityCommonStockSharesOutstanding" scale="0" unitRef="shares" id="ixv-15231">17,664,200</ix:nonFraction> shares</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>DOCUMENTS INCORPORATED BY REFERENCE.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p><div>

</div><ix:nonNumeric contextRef="c0" escape="true" name="dei:DocumentsIncorporatedByReferenceTextBlock" id="ixv-185"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Portions of the registrant&#8217;s Proxy Statement
relating to the 2024 Annual Meeting of Stockholders to be held May 30, 2024 are incorporated by reference into Part III (Items 10 through
14) of this Report.</p></ix:nonNumeric><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>


</div><!-- Field: Page; Sequence: 2 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">TABLE OF CONTENTS</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td colspan="3" style="text-align: center">&#8239;<a href="#a_001">PART I</a></td></tr>
  <tr style="vertical-align: top">
    <td style="width: 1in">&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center; width: 0.5in">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 1.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_002">Business</a></td>
    <td style="vertical-align: bottom; text-align: center">&#160;5</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 1A.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_003">Risk Factors</a></td>
    <td style="vertical-align: bottom; text-align: center">12</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 1B.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_004">Unresolved Staff Comments</a></td>
    <td style="vertical-align: bottom; text-align: center">17</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 1C.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_005">Cybersecurity</a></td>
    <td style="vertical-align: bottom; text-align: center">17</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 2.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_006">Properties</a></td>
    <td style="vertical-align: bottom; text-align: center">18</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 3.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_007">Legal Proceedings</a></td>
    <td style="vertical-align: bottom; text-align: center">19</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 4.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_008">Mine Safety Disclosures</a></td>
    <td style="vertical-align: bottom; text-align: center">19</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td colspan="3" style="text-align: center"><a href="#a_009">PART II</a></td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 5.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_010">Market for Registrant&#8217;s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities</a></td>
    <td style="vertical-align: bottom; text-align: center">20</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 6.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_011">[Reserved]</a></td>
    <td style="vertical-align: bottom; text-align: center">21</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 7.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_012">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</a></td>
    <td style="vertical-align: bottom; text-align: center">22</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 7A.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_013">Quantitative and Qualitative Disclosures About Market Risk</a></td>
    <td style="vertical-align: bottom; text-align: center">44</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 8.</td>
    <td style="padding-right: 3pt; padding-left: 7.9pt; text-indent: -7.9pt"><a href="#a_014">Financial Statements and Supplementary Data</a></td>
    <td style="vertical-align: bottom; text-align: center">46</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 9.</td>
    <td style="padding-right: 3pt; padding-left: 7.9pt; text-indent: -7.9pt"><a href="#a_015">Changes in and Disagreements With Accountants on Accounting and Financial Disclosure</a></td>
    <td style="vertical-align: bottom; text-align: center">77</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 9A.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_016">Controls and Procedures</a></td>
    <td style="vertical-align: bottom; text-align: center">77</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 9B.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_017">Other Information</a></td>
    <td style="vertical-align: bottom; text-align: center">78</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 9C.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_018">Disclosure Regarding Foreign Jurisdictions That Prevent Inspections</a></td>
    <td style="vertical-align: bottom; text-align: center">79</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td colspan="3" style="text-align: center"><a href="#a_019">PART III</a></td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 10.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_020">Directors, Executive Officers and Corporate Governance</a></td>
    <td style="vertical-align: bottom; text-align: center">79</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 11.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_021">Executive Compensation</a></td>
    <td style="vertical-align: bottom; text-align: center">79</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 12.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_022">Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</a></td>
    <td style="vertical-align: bottom; text-align: center">79</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 13.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_023">Certain Relationships and Related Transactions and Director Independence</a></td>
    <td style="vertical-align: bottom; text-align: center">80</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 14.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_024">Principal Accountant Fees and Services</a></td>
    <td style="vertical-align: bottom; text-align: center">80</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  </table><div>

</div><!-- Field: Page; Sequence: 3 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td colspan="3" style="text-align: center"><a href="#a_025">PART IV</a></td></tr>
  <tr style="vertical-align: top">
    <td style="width: 1in">&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="text-align: center; width: 0.5in">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 15.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_026">Exhibits and Financial Statement Schedules</a></td>
    <td style="text-align: center">81</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td colspan="2"><a href="#a_027">Signatures</a></td>
    <td style="text-align: center">84</td></tr>
  <tr style="vertical-align: top">
    <td colspan="2"><a href="#a_028">Exhibit Index</a></td>
    <td style="text-align: center">85</td></tr>
  <tr style="vertical-align: top">
    <td colspan="2" style="padding-right: -22.5pt"><a href="#a_029">Financial Statement Schedule</a></td>
    <td style="text-align: center">87</td></tr>
  <tr style="vertical-align: top">
    <td colspan="2"><a href="#a_028">Exhibits</a></td>
    <td style="text-align: center">89</td></tr>
  </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>EXPLANATORY NOTE:</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In this Annual Report on Form 10-K, Sturm, Ruger
&amp; Company, Inc. and Subsidiary (the &#8220;Company&#8221;) makes forward-looking statements and projections concerning future expectations.
Such statements are based on current expectations and are subject to certain qualifying risks and uncertainties, such as market demand,
sales levels of firearms, anticipated castings sales and earnings, the need for external financing for operations or capital expenditures,
the results of pending litigation against the Company, the impact of future firearms control and environmental legislation, and accounting
estimates, any one or more of which could cause actual results to differ materially from those projected. Words such as &#8220;expect,&#8221;
&#8220;believe,&#8221; &#8220;anticipate,&#8221; &#8220;intend,&#8221; &#8220;estimate,&#8221; &#8220;will,&#8221; &#8220;should,&#8221;
&#8220;could&#8221; and other words and terms of similar meaning, typically identify such forward-looking statements. Readers are cautioned
not to place undue reliance on these forward-looking statements, which speak only as of the date made. The Company undertakes no obligation
to publish revised forward-looking statements to reflect events or circumstances after the date such forward-looking statements are made
or to reflect the occurrence of subsequent unanticipated events.</p><div>


</div><!-- Field: Page; Sequence: 4 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><div><a id="a_001"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>PART I</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><div><a id="a_002"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>ITEM 1&#8212;BUSINESS</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Company Overview</span></p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Sturm, Ruger &amp; Company, Inc. and Subsidiary
(the &#8220;Company&#8221;) is principally engaged in the design, manufacture, and sale of firearms to domestic customers. Virtually all
of the Company&#8217;s sales for the year ended December 31, 2023 were from the firearms segment, with less than 1% from the castings
segment. Export sales represent approximately 6% of firearms sales. The Company&#8217;s design and manufacturing operations are located
in the United States and almost all product content is domestic.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company has been in business since 1949 and
was incorporated in its present form under the laws of Delaware in 1969. The Company primarily offers products in three industry product
categories &#8211; rifles, pistols, and revolvers. The Company&#8217;s firearms are sold through independent wholesale distributors, principally
to the commercial sporting market.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company manufactures and sells investment
castings made from steel alloys and metal injection molding (&#8220;MIM&#8221;) parts for internal use in the firearms segment and has
minimal sales to outside customers. The castings and MIM parts are sold to outside customers, either directly or through manufacturers&#8217;
representatives.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">For the years ended December 31, 2023, 2022, and
2021, net sales attributable to the Company's firearms operations were $540.7 million, $593.3 million and $728.1 million. The balance
of the Company's net sales for the aforementioned periods was attributable to its castings operations.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Firearms Products</span></p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company presently manufactures firearm products,
under the &#8220;Ruger&#8221; name and trademark, in the following industry categories:</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td colspan="2" style="font-weight: bold; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Rifles</span></td>
    <td colspan="2" style="font-weight: bold; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Revolvers</span></td></tr>
  <tr style="vertical-align: top">
    <td style="width: 0.5in; text-align: center"><span>&#9679;</span></td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Single-shot</span></td>
    <td style="width: 0.5in; text-align: center"><span>&#9679;</span></td>
    <td style="width: 2in"><span style="font-family: Times New Roman, Times, Serif">Single-action</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: center"><span>&#9679;</span></td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Autoloading</span></td>
    <td style="text-align: center"><span>&#9679;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif">Double-action</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: center"><span>&#9679;</span></td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Bolt-action</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: center"><span>&#9679;</span></td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Modern sporting </span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td colspan="2" style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif"><b>Pistols</b></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: center"><span>&#9679;</span></td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Rimfire autoloading</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: center"><span>&#9679;</span></td>
    <td style="text-align: justify">Centerfire autoloading</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In addition, the Company manufactures lever-action
rifles under the &#8220;Marlin&#8221; name and trademark.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Most firearms are available in several models
based upon caliber, finish, barrel length, and other features.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 5 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Rifles</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">A rifle is a long gun with spiral grooves cut
into the interior of the barrel to give the bullet a stabilizing spin after it leaves the barrel. Net sales of rifles by the Company accounted
for $306.8 million, $305.4 million, and $317.5 million of total net sales for the years 2023, 2022, and 2021, respectively.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Pistols</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">A pistol is a handgun in which the ammunition
chamber is an integral part of the barrel and which typically is fed ammunition from a magazine contained in the grip. Net sales of pistols
by the Company accounted for $131.4 million, $184.7 million, and $278.4 million of revenues for the years 2023, 2022, and 2021, respectively.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Revolvers</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">A revolver is a handgun that has a cylinder that
holds the ammunition in a series of chambers which are successively aligned with the barrel of the gun during each firing cycle. There
are two general types of revolvers, single-action and double-action. To fire a single-action revolver, the hammer is pulled back to cock
the gun and align the cylinder before the trigger is pulled. To fire a double-action revolver, a single trigger pull advances the cylinder
and cocks and releases the hammer. Net sales of revolvers by the Company accounted for $72.5 million, $70.0 million, and $84.4 million
of revenues for the years 2023, 2022, and 2021, respectively.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Accessories</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company also manufactures and sells accessories
and replacement parts for its firearms. These sales accounted for $30.0 million, $33.2 million, and $47.8 million of total net sales for
the years 2023, 2022, and 2021, respectively.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Castings Products</span></p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Net sales attributable to the Company&#8217;s
casting operations (excluding intercompany transactions) accounted for $3.0 million, $2.6 million, and $2.6 million, for 2023, 2022, and
2021, respectively. These sales represented less than 1% of total net sales in each of 2023, 2022, and 2021.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b><span style="text-decoration:underline">Manufacturing</span></b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Firearms</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company produces some of its pistol models,
most of its revolvers, and some of its rifle models at the Newport, New Hampshire facility. One model of revolver, one model of rifle,
and most of the Company&#8217;s pistols are produced at the Prescott, Arizona facility. Some rifle models and pistol models are produced
at the Mayodan, North Carolina facility.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Many of the basic metal component parts of the
firearms manufactured by the Company are produced by the Company's castings segment through processes known as precision investment casting.
The Company also uses many MIM parts in its firearms. See "Manufacturing- Investment Castings and Metal Injected Moldings" below
for a description of these processes. The Company believes that investment castings and MIM parts provide greater design flexibility and
result in component parts which are generally close to their ultimate shape and, therefore, require less machining than processes requiring
machining a solid billet of metal to obtain a part. Through the </p><div>

</div><!-- Field: Page; Sequence: 6 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">use of investment castings and MIM parts, the Company endeavors to produce
durable and less costly component parts for its firearms.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">All assembly, inspection, and testing of firearms
manufactured by the Company are performed at the Company's manufacturing facilities. Every firearm, including every chamber of every revolver
manufactured by the Company, is test-fired prior to shipment.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Investment Castings and Metal Injection Moldings</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">To produce a product by the investment casting
method, a wax model of the part is created and coated (&#8220;invested&#8221;) with several layers of ceramic material. The shell is then
heated to melt the interior wax, which is poured off, leaving a hollow mold. To cast the desired part, molten metal is poured into the
mold and allowed to cool and solidify. The mold is then broken off to reveal a near net shape cast metal part.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Metal injection molding is a three part powder
metallurgy process by which a feedstock consisting of finely powdered metal and binders is processed through injection molding, debinding,
and sintering equipment to produce steel, stainless steel, and alloy parts of complex shape and geometry. &#160;This process allows for
high volume production while eliminating many of the wastes of traditional metal working methods, yielding net shape and near net shape
parts.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b><span style="text-decoration:underline">Marketing and Distribution</span></b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Firearms</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company's firearms are primarily marketed
through a network of federally licensed, independent wholesale distributors who purchase the products directly from the Company. They
resell to federally licensed, independent retail firearms dealers who in turn resell to legally authorized end users. All retail purchasers
are subject to a point-of-sale background check by law enforcement. These end users include sportsmen, hunters, people interested in self-defense,
law enforcement and other governmental organizations, and gun collectors. Each domestic distributor carries the entire line of firearms
manufactured by the Company for the commercial market. Currently, 15 distributors service the domestic commercial market, with an additional
26 distributors servicing the domestic law enforcement market and 44 distributors servicing the export market.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2023, the Company&#8217;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#8217;s &#8211; 24%; Davidson&#8217;s - 19%; and Sports South
- 15%.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2022, the Company&#8217;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#8217;s - 23%; Davidson&#8217;s - 23%; and Sports South - 21%.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2021, the Company&#8217;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#8217;s - 21%; Sports South - 19%; and Davidson&#8217;s - 19%.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company employs 18 employees who service these
distributors and call on retailers and law enforcement agencies. Because the ultimate demand for the Company's firearms comes from end
users rather than from the independent wholesale distributors, the Company believes that the loss </p><div>

</div><!-- Field: Page; Sequence: 7 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">of any distributor would not have a
material, long-term adverse effect on the Company, but may have a material adverse effect on the Company&#8217;s financial results for
a particular period. The Company considers its relationships with its distributors to be satisfactory.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company also exports its firearms through
a network of selected commercial distributors and directly to certain foreign customers, consisting primarily of law enforcement agencies
and foreign governments. Foreign sales were 6% of the Company&#8217;s consolidated net sales for the year ended December 31, 2023, and
6% of the Company&#8217;s consolidated net sales for the year ended December 31, 2022, and 5% of the Company's consolidated net sales
for year ended December 31, 2021.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company does not consider its overall firearms
business to be predictably seasonal; however, orders of many models of firearms from the distributors tend to be stronger in the first
quarter of the year and weaker in the third quarter of the year.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Investment Castings and Metal Injection Moldings</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The castings segment provides castings and MIM
parts for the Company&#8217;s firearms segment. In addition, the castings segment produces some products for a number of customers in
a variety of industries.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b><span style="text-decoration:underline">Competition</span></b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Firearms</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Competition in the firearms industry is intense
and comes from both foreign and domestic manufacturers. While some of these competitors concentrate on a single industry product category
such as rifles or pistols, several competitors manufacture products in all four industry categories (rifles, shotguns, pistols, and revolvers).
The principal methods of competition in the industry are product innovation, quality, availability, brand, and price. The Company believes
that it can compete effectively with all of its present competitors.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Investment Castings and Metal Injection Moldings</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">There are a large number of investment castings
and MIM manufacturers, both domestic and foreign, with which the Company competes. Competition varies based on the type of investment
castings products and the end use of the product. Companies offering alternative methods of manufacturing such as wire electric discharge
machining (EDM) and advancements in computer numeric controlled (CNC) machining also compete with the Company&#8217;s castings segment.
Many of these competitors are larger corporations than the Company with substantially greater financial resources than the Company, which
could affect the Company&#8217;s ability to compete with these competitors. The principal methods of competition in the industry are
quality, price, and production lead time.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 8 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->8<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b><span style="text-decoration:underline">Human Capital</span></b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The Company
is an equal opportunity employer dedicated to the attraction, development, and retention of our employees by providing a preferred work
environment that promotes and celebrates our core values of Integrity, Respect, Innovation and Teamwork. Our goal is to develop, motivate,
retain and reward passionate and dedicated employees. </span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As of February 1, 2024, the Company employed approximately
1,820 full-time employees, approximately 32% of whom had at least ten years of service with the Company.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company attracts candidates and retains employees
by offering competitive compensation packages, which include:</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; background-color: white"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify">Base wages,</td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; background-color: white"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify">Profit sharing,</td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; background-color: white"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify">Medical and welfare benefits,</td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; background-color: white"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify">Holidays and other paid time off, and</td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; background-color: white"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify">401(k) plan participation and matching program.</td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 39pt; text-align: justify; text-indent: -0.25in">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company believes its compensation
packages:</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 3pt; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; background-color: white"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify">Provide a base level of compensation to reflect an individual&#8217;s role and responsibilities,</td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; background-color: white"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify">Recognize and reward employees for the Company&#8217;s success, and</td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; background-color: white"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify">Provide for the safety, security and well-being of employees.</td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 39pt; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Our primary vehicle for human capital development
is Ruger University, which has a mission to:</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; background-color: white" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Enhance the understanding of our industry, Company
and culture,</span></td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; background-color: white" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Strengthen the technical, interpersonal and leadership
skills of each employee, and</span></td></tr></table><div>


</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; background-color: white" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Allow employees to positively change their own
lives while creating value for all Ruger stakeholders.</span></td></tr></table><div>

</div><p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In addition to providing a competitive compensation
package and emphasizing the development of employees, the Company retains its employees by maintaining a safe, responsible, and preferred
workplace. The Company is committed to conducting business in conformance with the highest ethical standards and in compliance with all
applicable legal and regulatory requirements. The &#8220;Code of Business Conduct and Ethics&#8221; and the &#8220;Corporate Compliance
Program&#8221; are two active programs that guide the Company&#8217;s practices to achieve these goals.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In addition, since the beginning of the global
outbreak of the Coronavirus disease 2019 (&#8220;COVID-19&#8221;) in March 2020, the Company continues to take multiple proactive steps
to promote the health and safety of its employees and maintain a clean, safe, and preferred workplace.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">To assess and improve employee retention and engagement,
the Company surveys employees on an annual basis with the assistance of a third-party consultant, and takes actions to address areas of
employee concern and build on the competencies that are important for our future success.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><!-- Field: Page; Sequence: 9 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->9<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b><span style="text-decoration:underline">Research and Development</span></b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2023, 2022, and 2021, the Company spent approximately
$9.8 million, $9.6 million, and $11.7 million, respectively, on research and development activities relating to new products and the improvement
of existing products. Research and development expenses are included in costs of products sold. As of February 1, 2024, the Company had
approximately 67 employees whose primary responsibilities were research and development activities.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b><span style="text-decoration:underline">Patents and Trademarks</span></b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company owns various United States and foreign
patents and trademarks which have been secured over a period of years and which expire at various times. It is the policy of the Company
to apply for patents and trademarks whenever new products or processes deemed commercially valuable are developed or marketed by the Company.
The Company deems its patents and trademarks to be valuable and therefore works to police and protect them.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b><span style="text-decoration:underline">Environmental Matters</span></b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company is committed to achieving high standards
of environmental quality and product safety, and strives to provide a safe and healthy workplace for its employees and others in the
communities in which it operates. The Company has programs in place that monitor compliance with various environmental regulations. However,
in the normal course of its manufacturing operations the Company is subject to governmental proceedings and orders pertaining to waste
disposal, air emissions, and water discharges into the environment. These regulations are integrated into the Company&#8217;s manufacturing,
assembly, and testing processes. The Company believes that it is generally in compliance with applicable environmental regulations and
that the outcome of any environmental proceedings and orders will not have a material adverse effect on the financial position of the
Company, but could have a material adverse effect on the financial results for a particular period.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><!-- Field: Page; Sequence: 10 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->10<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b><span style="text-decoration:underline">Information about our Executive Officers</span></b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Set forth below are the names, ages, and positions
of the executive officers of the Company. Officers serve at the discretion of the Board of Directors of the Company.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: bold 8pt Times New Roman, Times, Serif; width: 25%; border-bottom: Black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif">Name</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; width: 10%; border-bottom: Black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif">Age</span></td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; width: 65%; border-bottom: Black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif">Position With Company</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td style="padding-left: 9pt; text-indent: -9pt">&#160;</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Christopher J. Killoy</span></td>
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif">65</span></td>
    <td style="padding-left: 9pt; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif">President and Chief Executive Officer</span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td style="padding-left: 9pt; text-indent: -9pt">&#160;</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Thomas A. Dineen</span></td>
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif">55</span></td>
    <td style="padding-left: 9pt; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif">Senior Vice President, Treasurer, and Chief Financial Officer</span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td style="padding-left: 9pt; text-indent: -9pt">&#160;</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Kevin B. Reid, Sr.</span></td>
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif">63</span></td>
    <td style="padding-left: 9pt; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif">Vice President, General Counsel, and Corporate Secretary</span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td style="padding-left: 9pt; text-indent: -9pt">&#160;</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Shawn C. Leska</span></td>
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif">52</span></td>
    <td style="padding-left: 9pt; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif">Vice President, Sales </span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td style="padding-left: 9pt; text-indent: -9pt">&#160;</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Sarah F. Colbert</span></td>
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif">43</span></td>
    <td style="padding-left: 9pt; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif">Vice President, Administration</span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td style="padding-left: 9pt; text-indent: -9pt">&#160;</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Timothy M. Lowney</span></td>
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif">60</span></td>
    <td style="padding-left: 9pt; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif">Vice President of Operations for Newport, Prescott and RPM Manufacturing</span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td style="padding-left: 9pt; text-indent: -9pt">&#160;</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Michael W. Wilson</span></td>
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif">47</span></td>
    <td style="padding-left: 9pt; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif">Vice President of Operations for New Product Development, Product Engineering and Mayodan Manufacturing</span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td style="padding-left: 9pt; text-indent: -9pt">&#160;</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Robert J. Werkmeister, Jr.</span></td>
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif">49</span></td>
    <td style="padding-left: 9pt; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif">Vice President of Marketing</span></td></tr>
  </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Christopher J. Killoy became President &amp; Chief
Executive Officer on May 9, 2017. Previously he served as President and Chief Operating Officer since January 1, 2014. Prior to that he
served as Vice President of Sales and Marketing since November 27, 2006. Mr. Killoy originally joined the Company in 2003 as Executive
Director of Sales and Marketing, and subsequently served as Vice President of Sales and Marketing from November 1, 2004 to January 25,
2005.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Thomas A. Dineen became Senior Vice President
on July 10, 2017. Previously he served as Vice President since May 24, 2006. Prior to that he served as Treasurer and Chief Financial
Officer since May 6, 2003 and had been Assistant Controller since 2001. Mr. Dineen joined the Company as Manager, Corporate Accounting
in 1997.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Kevin B. Reid, Sr. became Vice President and General
Counsel on April 23, 2008. Previously he served as the Company&#8217;s Director of Marketing from June 4, 2007. Mr. Reid joined the Company
in July 2001 as an Assistant General Counsel.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Shawn C. Leska became Vice President, Sales on
November 6, 2015. Mr. Leska joined the Company in 1989 and has served in a variety of positions in the sales department. Most recently,
Mr. Leska served as Director of Sales since 2011.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Sarah F. Colbert became Vice President of Administration
on June 1, 2017. Ms. Colbert has served the Company in various human resource and legal capacities since joining the Company in 2011.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 11 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->11<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Timothy M. Lowney became Vice President of Operations
for Newport, Prescott and RPM Manufacturing on June 15, 2023. Previously, he served as the Company&#8217;s Vice President of Prescott
Operations since April 1, 2019. Mr. Lowney joined the Company in January 2007.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Michael W. Wilson became Vice President of Operations
for New Product Development, Product Engineering and Mayodan Manufacturing on June 15, 2023. Previously, he served as the Company&#8217;s
Vice President of Mayodan Operations since June 1, 2017. Mr. Wilson joined the Company in July 2007.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Robert J. Werkmeister, Jr. became Vice President
of Marketing upon joining the Company on June 1, 2017. Mr. Werkmeister has served as the Company&#8217;s Director of Marketing since January
2013 as President and founder of Symbolic, Inc., a full-service marketing agency. While with Symbolic, Rob began working with Ruger as
a client in 2002 and has been the primary strategic marketing driver for the Ruger account since 2007.</p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Where You Can Find More Information</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company is subject to the informational requirements
of the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;), and accordingly, files its Annual Report on Form
10-K, Quarterly Reports on Form 10-Q, Definitive Proxy Statements, Current Reports on Form 8-K, and other information with the Securities
and Exchange Commission (the &#8220;SEC&#8221;). As an electronic filer, the Company's public filings are maintained on the SEC's Internet
site that contains reports, proxy and information statements, and other information regarding issuers that file electronically with the
SEC. The address of that website is http://www.sec.gov.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company makes its Annual Report on Form 10-K,
Quarterly Reports on Form 10-Q, Definitive Proxy Statements, Current Reports on Form 8-K and amendments to those reports filed or furnished
pursuant to Section 13(a) or 15(d) of the Exchange Act accessible free of charge through the Company's Internet site after the Company
has electronically filed such material with, or furnished it to, the SEC. The address of that website is http://www.ruger.com. However,
such reports may not be accessible through the Company's website as promptly as they are accessible on the SEC&#8217;s website.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Additionally, the Company&#8217;s corporate governance
materials, including its Corporate Governance Guidelines, the charters of the Audit, Compensation, Nominating and Corporate Governance,
Risk Oversight and Capital Policy committees, and the Code of Business Conduct and Ethics may also be found under the &#8220;Investor
Relations&#8221; subsection of the &#8220;Corporate&#8221; section of the Company&#8217;s Internet site at http://www.ruger.com/corporate.
A copy of the foregoing corporate governance materials is available upon written request to the Corporate Secretary at Sturm, Ruger &amp;
Company, Inc., 1 Lacey Place, Southport, Connecticut 06890.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><div><a id="a_003"></a></div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">ITEM 1A&#8212;RISK FACTORS</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s operations could be affected
by various risks, many of which are beyond its control. Based on current information, the Company believes that the following identifies
the most significant risk factors that could have a material, adverse effect on its business, operating results, </p><div>

</div><!-- Field: Page; Sequence: 12 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->12<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">and financial
condition. Past financial performance may not be a reliable indicator of future performance and historical trends should not be used to
anticipate results or trends in future periods.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In evaluating the Company&#8217;s business, the
following risk factors, as well as other information in this report, should be carefully considered.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>Changes in government policies and firearms
legislation could adversely affect the Company&#8217;s financial results.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The sale, purchase, ownership, and use of firearms
are subject to thousands of federal, state and local governmental regulations. The basic federal laws are the National Firearms Act, the
Federal Firearms Act, and the Gun Control Act of 1968. Federal law generally prohibits the private ownership of fully automatic weapons
manufactured after 1986 and places certain restrictions on the interstate sale of firearms unless certain licenses are obtained. The Company
does not manufacture fully automatic weapons and holds all necessary licenses under these federal laws. If the scope of the National Firearms
Act is expanded to regulate firearms currently regulated by the Gun Control Act, it could make acquisition of commonly owned and used
firearms more expensive and complicated for consumers, which could have a material adverse impact on demand for Company products. Several
states currently have laws in effect similar to the aforementioned legislation.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2005, Congress enacted the Protection of Lawful
Commerce in Arms Act (&#8220;PLCAA&#8221;). The PLCAA was enacted to address abuses by cities and agenda-driven individuals who wrongly
sought to make firearms manufacturers liable for legally manufactured and lawfully sold products if those products were later used in
criminal acts. The Company believes the PLCAA merely codifies common sense and long standing tort principles. If the PLCAA is repealed
or efforts to circumvent it are successful and lawsuits similar to those filed by cities and agenda-driven individuals in the late 1990s
and early 2000s are allowed to proceed, it could have a material adverse impact on the Company.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Currently, federal and several states&#8217; legislatures
are considering additional legislation relating to the regulation of firearms, and a number of new laws have been enacted at the federal,
state, and local level. Enacted legislation and proposed bills are numerous and extremely varied, but many seek to limit magazine capacity,
restrict or ban the sale and, in some cases, the ownership of various types of firearms, or ban commonly owned firearms with certain features.
Other legislation seeks to require new technologies, such as microstamping and so-called &#8220;smart gun&#8221; technology, which are
not proven, reliable or feasible.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company believes that the lawful private ownership
of firearms is guaranteed by the Second Amendment to the United States Constitution and that the widespread private ownership of firearms
in the United States will continue. However, there can be no assurance that the regulation of firearms will not become more restrictive
in the future and that any such restriction would not have a material adverse effect on the business of the Company. Numerous bills regulating
the ownership of firearms have been proposed at the state and federal levels, and these bills propose a wide variety of restrictions including,
for example, limiting the number of firearms that may be purchased in a specified time, increasing the age for ownership, imposing additional
licensing or </p><div>

</div><!-- Field: Page; Sequence: 13 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->13<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">registration requirements, creating additional restrictions on certain, common firearm features, and levying new taxes on
firearms and/or ammunition.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>The Company&#8217;s results of operations could
be further adversely affected if legislation with diverse requirements is enacted</b>.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">With literally thousands of laws being proposed
at the federal, state and local levels, if even a small percentage of these laws are enacted and they are incongruent, the Company could
find it difficult, expensive or even practically impossible to comply with them, impeding new product development and distribution of
existing products.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>The Company&#8217;s results of operations could be adversely affected
by litigation.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company faces risks arising from various asserted
and unasserted litigation matters. These matters include, but are not limited to, assertions of allegedly defective product design or
manufacture, alleged failure to warn, claimed unfair trade practices, purported class actions against firearms manufacturers, generally
seeking relief such as medical expense reimbursement, property damages, and punitive damages arising from accidents involving firearms
or the criminal misuse of firearms, and those lawsuits filed on behalf of municipalities alleging harm to the general public. Various
factors or developments can lead to changes in current estimates of liabilities such as final adverse judgment, significant settlement
or changes in applicable law. A future adverse outcome in any one or more of these matters could have a material adverse effect on the
Company&#8217;s financial results. See Note 20 to the financial statements which are included in this Annual Report on Form 10-K.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>The Company relies upon relationships with
financial institutions. </b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company utilizes the services of numerous
financial institutions, including banks, insurance carriers, transfer agents, and others. Anti-gun politicians, gun-control activists,
and others may target these institutions and attempt to pressure them into ceasing to do business with the Company, or to use financial
relationships to impose unacceptable and improper restrictions on the Company&#8217;s business, which could have a material adverse impact
on the Company&#8217;s business, operating results, and financial condition.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>The Company&#8217;s insurance may be insufficient to protect us
from claims or losses. </b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company maintains insurance coverage with
third-party insurers. However, not every risk or liability is or can be protected by insurance, and, for those risks it insures, the limits
of coverage it purchases or that are reasonably obtainable in the market may not be sufficient to cover all actual losses or liabilities
incurred. Moreover, there is a risk that commercially available liability insurance will not continue to be available to the Company at
a reasonable cost, if at all. If liability claims or losses exceed the Company&#8217;s current or available insurance coverage, its business
may be harmed.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>The Company&#8217;s results of operations could
be adversely affected by a decrease in demand for Company products.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">If demand for the Company&#8217;s products decreases
significantly, the Company would be unable to efficiently utilize its capacity, and profitability would suffer. Decreased demand could
result from a macroeconomic downturn, or could be specific to the firearms industry as a result of social, </p><div>

</div><!-- Field: Page; Sequence: 14 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->14<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">political, or other factors.
If the decrease in demand occurs abruptly, the adverse impact would be even greater.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>The financial health of the Company&#8217;s independent distributors
is critical to its success.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Over 90% of the Company&#8217;s sales are made
to 15 federally licensed, independent wholesale distributors. The Company reviews its distributors&#8217; financial statements and has
credit insurance for many of them. However, the Company&#8217;s credit evaluations of distributors and credit insurance may not be completely
effective, especially if higher interest rates continue to exact a financial strain. If one or more independent distributors experience
financial distress or liquidity issues, the Company&#8217;s sales could be adversely affected and the Company may not be able to collect
its accounts receivable on a timely basis, which would have an adverse impact on its operating results and financial condition.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>The Company must comply with various laws and
regulations pertaining to workplace safety and environment, environmental matters, and firearms manufacturing.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In the normal course of its manufacturing operations,
the Company is subject to numerous federal, state and local laws and governmental regulations, and governmental proceedings and orders.
These laws and regulations pertain to matters like workplace safety and environment, firearms serial number tracking and control, waste
disposal, air emissions and water discharges into the environment. Noncompliance with any one or more of these laws and regulations could
have a material adverse impact on the Company.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>Misconduct of the Company&#8217;s employees
or contractors could cause the Company to lose customers and could have a significant adverse impact on its business and reputation.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Misconduct, fraud or other improper activities
by the Company&#8217;s employees or contractors could have a material adverse impact on its business and reputation. Such misconduct could
include the failure to comply with federal, state, local or foreign government procurement regulations, regulations regarding the protection
of personal information, laws and regulations relating to antitrust and any other applicable laws or regulations.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; background-color: white"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; background-color: white"><b>Product quality and performance is important
to the Company&#8217;s success.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">The Company has a long
history of producing rugged, reliable firearms for the commercial market. While the Company believes its record of designing, manufacturing,
and selling high-quality products demonstrates its commitment to safety and quality, the Company has occasionally identified design and/or
manufacturing issues with respect to some firearms and, as a result, issued a product safety bulletin or initiated a product recall. Depending
upon the volume of products the Company has shipped into the market, any future recall or safety bulletin could harm its reputation, cause
the Company to lose business, and cause the Company to incur significant support and repair costs.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>Business disruptions at one of the Company&#8217;s
manufacturing facilities could adversely affect the Company&#8217;s financial results.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Newport, New Hampshire, Prescott, Arizona,
Mayodan, North Carolina, and Earth City, Missouri facilities are critical to the Company&#8217;s success. These facilities house the Company&#8217;s
principal production, research, development, engineering, design, and shipping operations. Any event that causes a disruption of the operation
of any of these facilities for even a relatively short </p><div>

</div><!-- Field: Page; Sequence: 15 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->15<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">period of time could have a material adverse effect on the Company&#8217;s ability
to produce and ship products and to provide service to its customers.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>The Company relies on its information and communications
systems in its operations. Security breaches and other disruptions could adversely affect its business and results of operations. </b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Cybersecurity threats are significant and evolving
and include, among others, malicious software, attempts to gain unauthorized access to data, and other electronic security breaches that
could lead to disruptions in mission critical systems, unauthorized release of confidential or otherwise protected information and corruption
of data. In addition to security threats, the Company is also subject to other systems failures, including network, software or hardware
failures, whether caused by the Company, third-party service providers, natural disasters, power shortages, terrorist attacks or other
events. The unavailability of the Company&#8217;s information or communications systems, the failure of these systems to perform as anticipated
or any significant breach of data security could cause loss of data, disrupt Company operations, lead to financial losses from remedial
actions, require significant management attention and resources, and negatively impact the Company&#8217;s reputation among its customers
and the public, which could have a negative impact on the Company&#8217;s financial condition, results of operations and liquidity.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>The lack of available raw materials or component
parts could disrupt or even cease the Company&#8217;s manufacturing operations. Even if manufacturing operations are not disrupted, increased
costs of raw materials and component parts could adversely affect the Company&#8217;s financial results.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Third parties supply the Company with various
raw materials for its firearms and castings, such as fabricated steel components, walnut, birch, beech, maple and laminated lumber for
rifle stocks, wax, ceramic material, metal alloys, various synthetic products and other component parts. There is a limited supply of
these materials in the marketplace at any given time, which can cause the purchase prices to vary based upon numerous market factors.
If market conditions result in a significant prolonged inflation of certain prices or if adequate quantities of raw materials cannot be
obtained, the Company&#8217;s manufacturing processes could be interrupted and the Company&#8217;s financial condition or results of operations
could be materially adversely affected.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><b>The Company relies
primarily on third parties for transportation of the products it manufactures as well as delivery of its raw materials.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">Any increase in the cost
of the transportation of the Company&#8217;s raw materials or products, as a result of increases in fuel or labor costs, higher demand
for logistics services, consolidation in the transportation industry or otherwise, increased restrictions on the transportation of firearms,
may adversely affect its results of operations. If any of these providers were to fail to deliver raw materials to the Company in a timely
manner, the Company may be unable to manufacture and deliver its products in a timely manner. In addition, if any of these third parties
were to cease operations or cease doing business with the Company, the Company may be unable to replace them at a reasonable cost. And
such failure of a third-party transportation provider could harm the Company&#8217;s reputation, negatively affect its customer relationships
and have a material adverse effect on its financial position and results of operations.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">&#160;</p><div>

</div><!-- Field: Page; Sequence: 16 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->16<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><b>Availability and retention
of the Company&#8217;s labor force, especially its key management, is critical to the success of the Company.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; background-color: white">The
Company has observed an overall tightening and increasingly competitive labor market, which could </span>inhibit its ability to recruit
and retain the employees it requires and could lead to increased costs, such as additional overtime to meet demand and increased wage
rates to attract and retain employees. The Company relies on the knowledge, experience, and leadership skills of its senior management
team. The Company&#8217;s senior executives are not bound by employment agreements. The loss of the services of one or more of the Company&#8217;s
senior executives or other key personnel could have a significant adverse impact on its business<span style="font-family: Times New Roman, Times, Serif">.
</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>A pandemic, like the COVID-19 pandemic, could
have a significant adverse impact on the Company&#8217;s operations, financial results, cash flow, and financial condition. </b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The COVID-19 pandemic created significant uncertainty
and adversely impacted many industries throughout the global economy. Thus far, the Company has been able to mitigate the impact of COVID-19
through its proactive measures. The extent to which a future pandemic may impact the Company&#8217;s operations, financial results, cash
flow, and financial condition is difficult to predict and dependent upon many factors over which the Company has no control. These factors
include, but are not limited to, the duration and severity of the pandemic; government restrictions on businesses and individuals; potential
significant adverse impacts on the Company&#8217;s employees, customers, suppliers, or service providers; the impact on U.S. and global
economies and the timing and rate of economic recovery; and potential adverse effects on the financial markets, any of which could negatively
impact the Company.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><div><a id="a_004"></a></div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">ITEM 1B&#8212;UNRESOLVED STAFF COMMENTS</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">None</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><div><a id="a_005"></a></div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">ITEM 1C&#8212;CYBERSECURITY</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">Risk management and strategy</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The Company
has processes for assessing, identifying, and managing material risks from cybersecurity threats. These processes are integrated into
the Company&#8217;s overall risk management systems, as overseen by the Company&#8217;s Board of Directors, primarily through its Risk
Oversight Committee. These processes also include overseeing and identifying risks from cybersecurity threats associated with the use
of third-party service providers. The Company conducts security assessments of certain third-party providers before engagement and has
established monitoring procedures in its effort to mitigate risks related to data breaches or other security incidents originating from
third parties. The Company from time to time engages third-party consultants, legal advisors, and audit firms in evaluating and testing
the Company&#8217;s risk management systems and assessing and remediating certain potential cybersecurity incidents as appropriate. </span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The Company
has an Information Security Program (&#8220;Program&#8221;) to protect personal and proprietary information in compliance with applicable
federal and state requirements. The Program is designed to:</span></p><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">&#160;</span></p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.2917in"/><td style="width: 0.2083in"><span>&#9679;</span></td><td style="text-align: justify"><span style="background-color: white">Ensure the security and confidentiality of employee and customer
personal information and Company proprietary information;</span></td></tr></table><div>

</div><!-- Field: Page; Sequence: 17 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->17<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>
</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.2917in"/><td style="width: 0.2083in"><span>&#9679;</span></td><td style="text-align: justify"><span style="background-color: white">Protect against anticipated threats or hazards to the security or
integrity of such information; and</span></td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.2917in"/><td style="width: 0.2083in"><span>&#9679;</span></td><td style="text-align: justify"><span style="background-color: white">Protect against unauthorized access to, use of, or transfer of such
information in a manner that could harm or inconvenience the Company, employees or customers.</span></td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">For more
information about these risks, see the risk factor titled &#8220;The Company relies on its information and communications systems in its
operations. Security breaches and other disruptions could adversely affect its business and results of operations&#8221; under Item 1A.</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><b>Governance </b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">The Company&#8217;s Board
of Directors has assigned oversight of cybersecurity risk management to the Risk Oversight Committee. The Risk Oversight Committee regularly
receives reports from management, including senior information technology (&#8220;IT&#8221;) leadership, and third parties on cybersecurity
matters. In addition, the Company&#8217;s full Board of Directors receives reports addressing cybersecurity as part of the Company&#8217;s
overall enterprise risk management program and to the extent cybersecurity matters are addressed in regular business updates.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">Senior IT leaders are
responsible for developing appropriate cybersecurity programs, including as may be required by applicable law or regulation. These individuals&#8217;
expertise in IT and cybersecurity generally has been gained from a combination of education, including relevant degrees and/or certifications,
and work experience. They are informed by their respective cybersecurity teams about, and monitor, the prevention, detection, mitigation
and remediation of cybersecurity incidents as part of the cybersecurity programs described above.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">Information regarding
cybersecurity risks may be elevated by IT leadership through a variety of channels, including discussions between or among key leaders
and Company management and reports to the Company&#8217;s Board of Directors and/or certain Board committees. As noted above, the Risk
Oversight Committee regularly receives reports on cybersecurity matters from senior IT leadership.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><div><a id="a_006"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>ITEM 2&#8212;PROPERTIES</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s manufacturing operations are
carried out at four facilities. The following table sets forth certain information regarding each of these facilities:</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="padding-left: 0pt; white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Approximate<br/> Aggregate<br/>
 Usable<br/> Square Feet</td>
    <td style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Status</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Segment</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify; padding-left: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 51%; text-align: justify; padding-left: 0pt">Newport, New Hampshire</td><td style="width: 3%">&#160;</td>
    <td style="width: 12%; text-align: right">350,000</td><td style="width: 3%">&#160;</td>
    <td style="vertical-align: bottom; width: 15%; text-align: center">Owned</td><td style="width: 1%">&#160;</td>
    <td style="vertical-align: bottom; width: 15%; text-align: center">Firearms/Castings</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-left: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-left: 0pt">Prescott, Arizona</td><td>&#160;</td>
    <td style="text-align: right">230,000</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center">Leased</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center">Firearms</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-left: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-left: 0pt">Mayodan, North Carolina</td><td>&#160;</td>
    <td style="text-align: right">220,000</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center">Owned</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center">Firearms</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-left: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-left: 0pt">Earth City, Missouri</td><td>&#160;</td>
    <td style="text-align: right">35,000</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center">Leased</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center">Castings</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 18 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->18<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Each firearms facility contains enclosed ranges
for testing firearms. The lease of the Prescott facility provides for rental payments which are approximately equivalent to estimated
rates for real property taxes.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company has other facilities that were not
used in its manufacturing operations in 2023:</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Approximate<br/> Aggregate <br/>
Usable<br/> Square Feet</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Status</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Segment</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-indent: 0pt; padding-left: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center; padding-left: 4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: center; padding-left: 4pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 51%; text-align: justify; text-indent: 0pt; padding-left: 0pt">Southport, Connecticut</td><td style="width: 3%">&#160;</td>
    <td style="width: 12%; text-align: right">25,000</td><td style="width: 3%">&#160;</td>
    <td style="vertical-align: bottom; width: 15%; text-align: center; padding-left: 4pt">Owned</td><td style="width: 1%">&#160;</td>
    <td style="width: 15%; text-align: center; padding-left: 4pt">Corporate</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; text-indent: 0pt; padding-left: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center; padding-left: 4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: center; padding-left: 4pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; text-indent: 0pt; padding-left: 0pt">Newport, New Hampshire(Dorr Woolen Building)</td><td>&#160;</td>
    <td style="text-align: right">45,000</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center; padding-left: 4pt">Owned</td><td>&#160;</td>
    <td style="text-align: center; padding-left: 4pt">Firearms</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; text-indent: 0pt; padding-left: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center; padding-left: 4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: center; padding-left: 4pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; text-indent: 0pt; padding-left: 0pt">Enfield, Connecticut</td><td>&#160;</td>
    <td style="text-align: right">10,000</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center; padding-left: 4pt">Leased</td><td>&#160;</td>
    <td style="text-align: center; padding-left: 4pt">Firearms</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; text-indent: 0pt; padding-left: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center; padding-left: 4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: center; padding-left: 4pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; text-indent: 0pt; padding-left: 0pt">Fairport, New York</td><td>&#160;</td>
    <td style="text-align: right">3,700</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center; padding-left: 4pt">Leased</td><td>&#160;</td>
    <td style="text-align: center; padding-left: 4pt">Corporate</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; text-indent: 0pt; padding-left: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center; padding-left: 4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: center; padding-left: 4pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; text-indent: 0pt; padding-left: 0pt">Mayodan, North Carolina</td><td>&#160;</td>
    <td style="text-align: right">225,000</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center; padding-left: 4pt">Owned</td><td>&#160;</td>
    <td style="text-align: center; padding-left: 4pt">Firearms</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">There are no mortgages or any other major encumbrance
on any of the real estate owned by the Company.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s principal executive offices
are located in Southport, Connecticut.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><div><a id="a_007"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>ITEM 3&#8212;LEGAL PROCEEDINGS</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The nature of the legal proceedings against the
Company is discussed at Note 20 to the financial statements, which are included in this Form 10-K.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company has reported all cases instituted
against it through September 30, 2023, and the results of those cases, where terminated, to the SEC on its previous Form 10-Q and 10-K
reports, to which reference is hereby made.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">There was one lawsuit formally instituted against
the Company during the three months ending December 31, 2023, as follows: <i>Jennifer Laws v. Sturm, Ruger &amp; Co.</i>, filed in the
U.S. District Court for the District of New Mexico on November 20, 2023.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><div><a id="a_008"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>ITEM 4&#8212;MINE SAFETY DISCLOSURES &#8211; NOT APPLICABLE</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 19 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->19<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><div><a id="a_009"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>PART II</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><div><a id="a_010"></a></div><table border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">
<tr style="vertical-align: top">
  <td style="width: 0.75in"><b>ITEM 5&#8212;</b> </td>
  <td><b>MARKET FOR REGISTRANT&#8217;S COMMON <span style="text-transform: uppercase">EQUITY,</span> RELATED STOCKHOLDER MATTERS AND ISSUER
PURCHASES OF EQUITY SECURITIES</b></td></tr>
</table><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify; text-indent: -1in">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s common stock is traded on
the New York Stock Exchange under the symbol &#8220;RGR.&#8221; At February 5, 2024, the Company had 1,800 stockholders of record.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b><span style="text-decoration:underline">Issuer Repurchase of Equity Securities</span></b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2022 and 2023 the Company repurchased shares
of its common stock. In 2021, the Company did not repurchase any shares of its common stock. Details of the purchases in 2022 and 2023
follow:</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid">Period</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Total <br/> Number of <br/> Shares <br/> Purchased</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Average <br/> Price Paid <br/> per Share</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Total <br/> Number of <br/> Shares <br/> Purchased<br/> as Part of <br/> Publicly <br/> Announced <br/> Program</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Maximum<br/> Dollar <br/> Value of <br/> Shares that<br/> May Yet Be <br/> Purchased<br/> Under the <br/> Program</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="border-bottom: Black 1pt solid; padding-left: 0pt">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Third Quarter 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">July 3 to July 30</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">July 31 to August 27</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; width: 48%; padding-left: 10pt">August 28 to October 1</td><td style="width: 1%; border-bottom: Black 1pt solid">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">2,136</td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 1%; border-bottom: Black 1pt solid">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">49.97</td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 1%; border-bottom: Black 1pt solid">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">2,136</td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 1%; border-bottom: Black 1pt solid">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Fourth Quarter 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">October 2 to October 29</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">October 30 to November 26</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,304</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">49.77</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,304</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 10pt">November 27 to December 31</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Fourth Quarter 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">October 1 to October 28</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">October 29 to November 25</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">179,341</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">45.20</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">179,341</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 10pt">November 26 to December 31</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">84,721</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">43.67</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">84,721</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 0pt">Total</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">268,502</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">44.79</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">268,502</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">74,680,000</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">All of these purchases were made with cash held
by the Company and no debt was incurred.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At December 31, 2023 approximately $74.7 million
remained authorized for share repurchases.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 20 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->20<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr>
    <td style="white-space: nowrap; width: 100%; border-top: Black 1pt solid; border-right: black 1pt solid; border-left: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; font-size: 10pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="clear: both; display: block;"><br/></span>
</span><span style="font-family: Times New Roman, Times, Serif; font-size: 14pt">Comparison of Five-Year Cumulative Total Return*</span></td></tr>
  <tr>
    <td style="border-top: Black 1pt solid; border-right: black 1pt solid; border-bottom: Black 1pt solid; border-left: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; font-size: 10pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif"><b>Sturm, Ruger &amp; Co., Inc., Standard &amp; Poor&#8217;s 500, Dow Jones US Recreational Products TSM Index, and Russell 2000 Index</b></span></td></tr>
  <tr>
    <td style="white-space: nowrap; border-right: black 1pt solid; border-left: Black 1pt solid; border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; font-size: 10pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif">(Performance Results Through 12/31/23)</span></td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center">&#160;<img alt="" src="image_001.jpg"/></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left">*Assumes $100 invested on 12/31/18 in stock
or index including reinvestment of dividends</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="border-bottom: Black 1pt solid; padding-left: 0pt">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2018</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2019</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2020</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2021</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2022</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2023</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; width: 34%; text-align: left; padding-left: 0pt">Sturm, Ruger &amp; Company, Inc.</td><td style="width: 1%; border-bottom: Black 1pt solid">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 8%; border-bottom: Black 1pt solid; text-align: right">100.00</td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 1%; border-bottom: Black 1pt solid">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 8%; border-bottom: Black 1pt solid; text-align: right">89.86</td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 1%; border-bottom: Black 1pt solid">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 8%; border-bottom: Black 1pt solid; text-align: right">134.94</td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 1%; border-bottom: Black 1pt solid">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 8%; border-bottom: Black 1pt solid; text-align: right">147.45</td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 1%; border-bottom: Black 1pt solid">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 8%; border-bottom: Black 1pt solid; text-align: right">124.52</td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 1%; border-bottom: Black 1pt solid">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 8%; border-bottom: Black 1pt solid; text-align: right">114.49</td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left; padding-left: 0pt">Standard &amp; Poors 500</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">100.00</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">131.49</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">155.68</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">200.37</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">164.08</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">207.21</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left; padding-left: 0pt">Russell 2000 Index</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">100.00</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">125.52</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">150.58</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">172.90</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">137.56</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">160.85</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left; padding-left: 0pt">Dow Jones US Recreational Products TSM</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">100.00</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">141.70</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">190.95</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">249.86</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">164.08</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">202.05</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">For the year ended December 31, 2023, the Company
has provided the five year cumulative total return results for the Dow Jones US Recreational Products Index, a widely-published index
tracking companies that provide recreational products.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><div><a id="a_011"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>ITEM 6&#8212;[RESERVED]</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><!-- Field: Page; Sequence: 21 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->21<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></p><div>

</div><div><a id="a_012"></a></div><table border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">
<tr style="vertical-align: top">
  <td style="width: 0.75in"><b>ITEM 7&#8212;</b></td>
  <td><b>MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS</b></td></tr>
</table><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Company Overview</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Sturm, Ruger &amp; Company, Inc. (the &#8220;Company&#8221;)
is principally engaged in the design, manufacture, and sale of firearms to domestic customers. Approximately 99% of sales are from firearms.
Export sales represent approximately 6% of total sales. The Company&#8217;s design and manufacturing operations are located in the United
States and almost all product content is domestic. The Company&#8217;s firearms are sold through a select number of independent wholesale
distributors, principally to the commercial sporting market.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company also manufactures investment castings
made from steel alloys and metal injection molding (&#8220;MIM&#8221;) parts for internal use in its firearms and for sale to unaffiliated,
third-party customers. Less than 1% of sales are from the castings segment.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Orders of many models of firearms from the independent
distributors tend to be stronger in the first quarter of the year and weaker in the third quarter of the year.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b><span style="text-decoration:underline">Results of Operations - 2023</span></b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Product Demand</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The estimated sell-through of the Company&#8217;s
products from the independent distributors to retailers in 2023 decreased 7% from 2022. For the same period, adjusted NICS decreased 4%.
The greater reduction in the sell-through of the Company&#8217;s products relative to adjusted NICS background checks may be attributable
to aggressive promotions, discounts, rebates, and the extension of payment terms offered by the Company&#8217;s competitors.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Estimated sell-through from distributors to retailers and total adjusted
NICS background checks:</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">2023</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">2022</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">2021</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left">Estimated Units Sold from Distributors to Retailers (1)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,406,600</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,506,800</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">2,017,800</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total Adjusted NICS Background Checks (2)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">15,848,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">16,425,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">18,515,000</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in">(1)</td><td style="text-align: justify">The estimates for each period were calculated by taking the beginning inventory at the distributors, plus
shipments from the Company to distributors during the period, less the ending inventory at distributors. These estimates are only a proxy
for actual market demand as they:</td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in"><b>&#160;</b></p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 95.1pt"/><td style="width: 21.9pt"><span>&#9679;</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Rely on data provided by independent distributors
that are not verified by the Company,</span></td></tr></table><div>

</div><!-- Field: Page; Sequence: 22 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->22<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>
</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 95.1pt"/><td style="width: 21.9pt"><span>&#9679;</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Do not consider potential timing issues within
the distribution channel, including goods-in-transit, and </span></td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 95.1pt"/><td style="width: 21.9pt"><span>&#9679;</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Do not consider fluctuations in inventory at
retail.</span></td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in">(2)</td><td style="text-align: justify">NICS background checks are performed when the ownership of most firearms, either new or used, is transferred
by a Federal Firearms Licensee. NICS background checks are also performed for permit applications, permit renewals, and other administrative
reasons. &#160;</td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify; text-indent: -0.5in">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify">The adjusted NICS data presented above
was derived by the NSSF by subtracting NICS checks that are not directly related to the sale of a firearm, including checks used for concealed
carry (&#8220;CCW&#8221;) permit application checks as well as checks on active CCW permit databases.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify">Adjusted NICS data can be impacted by
changes in state laws and regulations and any directives and interpretations issued by governmental agencies.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Orders Received and Ending Backlog</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company uses the estimated unit sell-through
of its products from the independent distributors to retailers, along with inventory levels at the independent distributors and at the
Company, as the key metrics for planning production levels.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The units ordered, value of orders received and ending backlog, net
of Federal Excise Tax, for the trailing three years are as follows (dollars in millions, except average sales price):</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">2023</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">2022</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2021</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: justify">Orders Received</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">433.8</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">451.2</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">606.5</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Average Sales Price of Orders Received</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">374</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">416</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">330</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Ending Backlog</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">229.0</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">314.4</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">429.7</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Average Sales Price of Ending Backlog</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">522</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">486</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">357</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Production</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company reviews the estimated sell-through
from the independent distributors to retailers, as well as inventory levels at the independent distributors and at the Company, to plan
production levels and manage inventories. These reviews resulted in a decrease in total unit production of 19% in 2023 compared to 2022.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 23 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->23<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Annual Summary Unit Data</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Firearms unit data for orders, production, and
shipments follows:</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">2023</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">2022</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">2021</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: justify">Units Ordered</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,159,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,083,800</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,835,500</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units Produced</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,398,200</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,733,200</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,154,600</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units Shipped</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,367,500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,641,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,142,900</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Sales Price</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">395</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">362</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">340</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units &#8211; Backlog</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">438,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">647,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,204,500</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Inventories</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s finished goods inventory increased
by 30,700 units during 2023.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Distributor
inventories of the Company&#8217;s products decreased by 39,100 units during 2023, and approximate a reasonable level to support rapid
fulfillment of retailer demand</span> for most product families<span style="font-family: Times New Roman, Times, Serif">. </span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Inventory data follows:</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify; padding-bottom: 1pt">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2023</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2022</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2021</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: justify">Units &#8211; Company Inventory</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">143,500</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">112,800</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">20,600</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">Units &#8211; Distributor Inventory (3)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">259,300</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">298,400</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">164,200</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">Total inventory (4)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">402,800</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">411,200</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">184,800</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in">(3)</td><td style="text-align: justify">Distributor ending inventory as provided by the independent distributors of the Company&#8217;s products.
These numbers do not include goods-in-transit inventory that has been shipped from the Company but not yet received by the distributors.</td></tr></table><div>

</div><p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in">(4)</td><td style="text-align: justify">This total does not include inventory at retailers. The Company does not have access to data on retailer
inventories.</td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify; text-indent: -0.5in">&#160;</p><div>

</div><!-- Field: Page; Sequence: 24 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->24<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>Year ended December 31, 2023, as compared to year ended December
31, 2022:</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Net Sales, Cost of Products Sold, and Gross
Profit</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif">Net
sales, c</span>ost of products sold, and gross profit data for the year ended (dollars in millions):</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: center; padding-bottom: 1pt">&#160;</td><td style="border-top: Black 1pt solid; text-align: center; border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">December 31, <br/>
2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; text-align: center; border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">December 31,<br/>
 2022</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; text-align: center; border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">Change</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; text-align: center; border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">% Change</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: left">Net firearms sales</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">540.7</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">593.3</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(52.6</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">(8.9</td><td style="white-space: nowrap; width: 1%; text-align: left">)%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Net casting sales</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3.0</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2.5</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">0.5</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">18.3%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total net sales</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">543.7</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">595.8</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(52.1</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(8.7</td><td style="white-space: nowrap; text-align: left">)%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Cost of products sold</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">410.1</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">415.7</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(5.6</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1.3</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Gross profit</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">133.6</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">180.1</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(46.5</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">)</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">(25.8</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">)%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gross margin</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">24.6%</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">30.2%</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(5.6</td><td style="white-space: nowrap; text-align: left">)%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(18.5</td><td style="white-space: nowrap; text-align: left">)%</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 20.9pt">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Firearms sales and unit shipments decreased 9%
and 17%, respectively, in 2023. New products represented $121.7 million or 23% of firearms sales in 2023, an increase from $78.4 million
or 14% of firearms sales in 2022. New product sales include only major new products that were introduced in the past two years. In 2023,
new products included the MAX-9 pistol (during the first quarter only), Security-380 pistol, Super Wrangler revolver, LCP MAX pistol,
Marlin lever-action rifles, LC Carbine, Small-Frame Autoloading Rifle, and American Centerfire Rifle Generation II.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">The
decreased gross profit for the year ended December 31, 2023 is attributable to the significant decrease in sales</span>, as well as inflationary
cost increases in materials, commodities, services, wages, energy, fuel and transportation, unfavorable deleveraging of fixed costs resulting
from decreased production, a product mix shift toward products with relatively lower margins that remain in stronger demand, and increased
promotional costs.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The decrease in gross margin for the year ended
December 31, 2023 is attributable to the aforementioned factors, partially offset by increased pricing.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 25 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->25<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Selling, General and Administrative</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Selling and general and administrative expenses data for the year ended
(dollars in millions):</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify; padding-bottom: 1pt">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="vertical-align: bottom; border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">December 31, <br/>
2023</td><td style="vertical-align: bottom; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">&#160;</td><td style="text-align: center; border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom; border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">&#160;</td><td style="vertical-align: bottom; border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">December 31, <br/>
2022</td><td style="vertical-align: bottom; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">&#160;</td><td style="text-align: center; border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom; border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">&#160;</td><td style="vertical-align: bottom; border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">Change</td><td style="vertical-align: bottom; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">&#160;</td><td style="text-align: center; border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom; border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">&#160;</td><td style="vertical-align: bottom; border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">% Change</td><td style="vertical-align: bottom; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: left">Selling expenses</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">38.8</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">36.1</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">2.7</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">7.4%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">General and administrative expenses</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">42.7</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">40.5</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2.2</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">5.4%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total operating expenses</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">81.5</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">76.6</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">4.9</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">6.4%</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td></tr>
  </table><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The increase in selling expenses for the year
ended December 31, 2023 was primarily attributable to  increased trade show costs, travel expenditures, and advertising, partially
offset by decreased sales volume.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The increase in general, and administrative expenses
for the year ended December 31, 2023 was primarily attributable to increased professional service costs.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Operating Income</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Operating income was $52.1 million or 9.6% of
sales in 2023. This is a decrease of $51.4 million from 2022 operating income of $103.5 million or 17.3% of sales.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Other Operating Income (Expense), Net</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.25in">Other income data for the year ended (dollars in millions):</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.25in">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">December 31,<br/>
 2023</td><td style="border-top: Black 1pt solid; text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">December 31, <br/>
2022</td><td style="border-top: Black 1pt solid; text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Change</td><td style="border-top: Black 1pt solid; text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">% Change</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: left">Royalty income</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">0.6</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">0.8</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">(0.2</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">(21.4%</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Interest income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5.5</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2.6</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2.9</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">114.1%</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(0.2</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(0.3</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.1</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(19.9%</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Other income, net</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">0.8</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1.7</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(0.9</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(51.4%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Other income</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">6.7</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">4.8</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1.9</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">39.7%</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">The increase in other income
for the year ended December 31, 2023 was the result of increases in interest income due to increased interest rates earned on short-term
investments, partially offset by decreased royalty and other income.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 27.35pt">&#160;</p><div>

</div><!-- Field: Page; Sequence: 26 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->26<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Income Taxes and Net Income</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">The
effective income tax rate was 18.0% in 2023 and 18.4% in 2022. </span>The Company's 2023 and 2022 effective tax rate differs from the
statutory federal tax rate due principally to the availability of research and development tax credits, state income taxes, and the nondeductibility
of certain executive compensation. The impact related to research and development tax credits on the effective tax rate is expected to
decline in future years.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As a result of the foregoing factors, consolidated
net income was $48.2 million in 2023. This represents a decrease of $40.1 million from 2022 consolidated net income of $88.3 million.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 27 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->27<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>Non-GAAP Financial Measure</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In an effort to provide investors with additional
information regarding its results, the Company refers to various United States generally accepted accounting principles (&#8220;GAAP&#8221;)
financial measures and two non-GAAP financial measures, EBITDA and EBITDA margin, which management believes provides useful information
to investors. These non-GAAP measures may not be comparable to similarly titled measures being disclosed by other companies. In addition,
the Company believes that the non-GAAP financial measures should be considered in addition to, and not in lieu of, GAAP financial measures.
The Company believes that EBITDA and EBITDA margin are useful to understanding its operating results and the ongoing performance of its
underlying business, as EBITDA provides information on the Company&#8217;s ability to meet its capital expenditure and working capital
requirements, and is also an indicator of profitability. The Company believes that this reporting provides better transparency and comparability
to its operating results. The Company uses both GAAP and non-GAAP financial measures to evaluate its financial performance.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Non-GAAP Reconciliation &#8211; EBITDA</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">EBITDA</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>(Unaudited, dollars in thousands)</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">Year ended December 31,</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Net income</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">48,215</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">88,332</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,609</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">19,947</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Depreciation and amortization expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">22,383</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">25,789</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">205</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">256</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Interest income</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(5,465</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(2,552</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">EBITDA</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">75,947</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">131,772</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">EBITDA margin</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">14.0%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">22.1%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">EBITDA is defined as earnings before interest,
taxes, and depreciation and amortization. The Company calculates this by adding the amount of interest expense, income tax expense and
depreciation and amortization expenses that have been deducted from net income back into net income, and subtracting the amount of interest
income that was included in net income from net income to arrive at EBITDA. The Company&#8217;s EBITDA calculation also excludes any one-time
non-cash, non-operating expense.</p><div>


</div><!-- Field: Page; Sequence: 28 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->28<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Quarterly Data</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">To supplement the summary annual unit data and
discussion above, the same data for the last eight quarters follows:</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">2023</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify; padding-bottom: 1pt">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif">Q4</span></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif">Q3</span></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif">Q2</span></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif">Q1</span></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: justify">Units Ordered</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">316,600</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">176,300</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">258,100</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">408,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units Produced</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">305,200</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">324,500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">387,500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">381,000</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units Shipped</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">337,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">308,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">336,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">384,900</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Estimated Units Sold from Distributors to Retailers</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">384,700</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">307,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">323,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">391,500</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Total Adjusted NICS Background Checks</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,742,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,284,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,654,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,168,000</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Unit Sales Price</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">383</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">390</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">422</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">387</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units &#8211; Backlog</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">438,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">460,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">592,100</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">670,400</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -14.15pt; padding-left: 14.15pt">Units &#8211; Company Inventory</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">143,500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">176,100</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">160,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">108,900</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; text-indent: -14.15pt; padding-left: 14.15pt">Units &#8211; Distributor Inventory (5)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">259,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">306,200</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">305,200</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">291,800</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">2022</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify; padding-bottom: 1pt">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif">Q4</span></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif">Q3</span></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif">Q2</span></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif">Q1</span></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: justify">Units Ordered</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">156,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">295,600</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">250,600</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">381,600</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units Produced</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">397,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">382,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">431,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">521,300</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units Shipped</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">393,100</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">373,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">382,600</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">491,500</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Estimated Units Sold from Distributors to Retailers</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">397,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">343,500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">354,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">411,200</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Total Adjusted NICS Background Checks</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,531,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,764,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,917,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,213,000</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Unit Sales Price</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">378</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">371</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">366</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">338</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units &#8211; Backlog</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">647,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">884,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">962,600</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,094,600</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -14.15pt; padding-left: 14.15pt">Units &#8211; Company Inventory</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">112,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">108,600</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">99,700</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">50,400</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; text-indent: -14.15pt; padding-left: 14.15pt">Units &#8211; Distributor Inventory (5)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">298,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">303,100</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">272,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">244,600</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 29 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->29<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 31.5pt">(5)</td><td>Distributor ending inventory as provided by the independent distributors of the Company&#8217;s products.</td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-indent: -31.5pt">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 13.5pt; text-align: justify; text-indent: -13.5pt">(in millions
except average sales price, net of Federal Excise Tax)</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 13.5pt; text-align: justify; text-indent: -13.5pt">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">2023</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q4</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q3</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q2</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q1</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: justify">Orders Received</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">116.7</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">58.8</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">102.1</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">156.2</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Sales Price of Orders Received</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">369</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">334</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">396</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">383</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Ending Backlog</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">229.0</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">234.8</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">293.7</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">327.3</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Sales Price of Ending Backlog</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">522</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">510</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">496</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">488</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">2022</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q4</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q3</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q2</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q1</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: justify">Orders Received</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">81.0</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">124.3</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">98.9</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">147.0</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Sales Price of Orders Received</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">519</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">421</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">395</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">385</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Ending Backlog</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">314.4</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">377.6</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">389.6</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">420.5</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Sales Price of Ending Backlog</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">486</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">427</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">405</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">384</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 30 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->30<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Fourth Quarter Net Sales and Gross Profit Analysis</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Net sales, cost of products sold, and gross profit
data for the three months ended (dollars in millions):</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify; padding-bottom: 1pt">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">December 31, <br/>
2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; text-align: center; border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">December 31,<br/>
 2022</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; text-align: center; border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">Change</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; text-align: center; border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">% Change</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: left">Net firearms sales</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">129.6</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">148.7</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(19.1</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">(12.8</td><td style="white-space: nowrap; width: 1%; text-align: left">)%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Net casting sales</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1.0</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">0.5</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">0.5</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">79.1</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total net sales</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">130.6</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">149.2</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(18.6</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(12.5</td><td style="white-space: nowrap; text-align: left">)%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Cost of products sold</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">98.3</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">109.6</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(11.3</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(10.3</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Gross profit</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">32.3</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">39.6</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(7.3</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">)</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">(18.4</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">)%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gross margin</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">24.7%</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">26.5%</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(1.8</td><td style="white-space: nowrap; text-align: left">)%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(5.6</td><td style="white-space: nowrap; text-align: left">)%</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 31 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->31<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b><span style="text-decoration:underline">Results of Operations - 2022</span></b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>Year ended December 31, 2022, as compared to
year ended December 31, 2021:</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Annual Summary Unit Data</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Firearms unit data for orders, production, shipments and ending inventory,
and castings setups (a measure of foundry production) are as follows:</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2021</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2020</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: justify">Units Ordered</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,083,800</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,835,500</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">3,041,700</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units Produced</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,733,200</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,154,600</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,659,100</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units Shipped</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,641,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,142,900</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,717,700</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Average Sales Price</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">362</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">340</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">329</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Units &#8211; Backlog</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">647,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,204,500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,511,900</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Units &#8211; Company Inventory</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">112,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">20,600</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,800</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units &#8211; Distributor Inventory (1)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">298,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">164,200</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">39,200</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Castings Setups</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">55,971</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">68,469</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">66,044</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Orders Received and Ending Backlog</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">(in millions except average sales price, net of
Federal Excise Tax):</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2021</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2020</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: justify">Orders Received</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">451.2</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">606.5</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">992.9</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Average Sales Price of Orders Received (2)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">416</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">330</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">326</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Ending Backlog</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">314.4</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">429.7</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">516.6</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Average Sales Price of Ending Backlog (2)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">486</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">357</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">342</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 4.5pt 0pt 49.5pt; text-indent: -49.5pt">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 18pt"/><td style="width: 31.5pt">(1)</td><td style="text-align: justify">Distributor ending inventory as provided by the independent distributors of the Company&#8217;s products.</td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 4.5pt 0pt 49.7pt; text-align: justify; text-indent: -31.7pt">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 18pt"/><td style="width: 31.5pt">(2)</td><td style="text-align: justify; padding-right: 4.3pt">Average sales price for orders received and ending backlog is net of Federal Excise
Tax of 10% for handguns and 11% for long guns.</td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><!-- Field: Page; Sequence: 32 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->32<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Product Demand</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The estimated sell-through of the
Company&#8217;s products from the independent distributors to retailers in 2022 decreased 25% from 2021. For the same period,
adjusted NICS decreased 11%. These decreases are attributable to decreased consumer demand for firearms from the unprecedented
levels of the surge that began in 2020 and remained for most of 2021. The greater reduction in the sell-through of the
Company&#8217;s products relative to adjusted NICS background checks may be attributable to the following:</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify">More aggressive promotions, discounts, rebates, and the extension of payment terms offered by our competitors,</td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify">An apparent increase in sales of used firearms at retail, which are included in the adjusted NICS checks,
but are not distinguished from new gun sales, and</td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify">Decreased retailer inventories as the anticipation of further discounting may be encouraging cautious
buying behavior by retailers.</td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Estimated sell-through from distributors to retailers and total adjusted
NICS background checks:</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">2022</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">2021</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">2020</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left">Estimated Units Sold from Distributors to Retailers (1)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,506,800</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">2,017,800</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,948,900</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total Adjusted NICS Background Checks (2)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">16,425,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">18,515,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">21,084,000</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in">(1)</td><td style="text-align: justify">The estimates for each period were calculated by taking the beginning inventory at the distributors, plus
shipments from the Company to distributors during the period, less the ending inventory at distributors. These estimates are only a proxy
for actual market demand as they:</td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in"><b>&#160;</b></p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 94.3pt"/><td style="width: 22.3pt"><span>&#9679;</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Rely on data provided by independent distributors
that are not verified by the Company,</span></td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 94.3pt"/><td style="width: 22.3pt"><span>&#9679;</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Do not consider potential timing issues within
the distribution channel, including goods-in-transit, and </span></td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 94.3pt"/><td style="width: 22.3pt"><span>&#9679;</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Do not consider fluctuations in inventory at
retail.</span></td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in">(2)</td><td style="text-align: justify">NICS background checks are performed when the ownership of most firearms, either new or used, is transferred
by a Federal Firearms Licensee. NICS background checks are also performed for permit applications, permit renewals, and other administrative
reasons. &#160;</td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify; text-indent: -0.5in">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify">The adjusted NICS data presented above
was derived by the NSSF by subtracting NICS checks that are not directly related to the sale of a firearm, including checks used for concealed
carry (&#8220;CCW&#8221;) permit application checks as well as checks on active CCW permit databases.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 33 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->33<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify">Adjusted NICS data can be impacted by
changes in state laws and regulations and any directives and interpretations issued by governmental agencies.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Production</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company reviews the estimated sell-through
from the independent distributors to retailers, as well as inventory levels at the independent distributors and at the Company, to plan
production levels and manage inventories. These reviews resulted in a decrease in total unit production of 20% in 2022 compared to 2021.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Inventories</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s finished goods inventory increased
by 92,200 units during 2022.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Distributor
inventories of the Company&#8217;s products increased by 134,200 units during 2022, and approximate a reasonable level to support rapid
fulfillment of retailer demand</span> for most product families<span style="font-family: Times New Roman, Times, Serif">. </span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Inventory data follows:</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify; border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2022</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2021</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2020</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: justify">Units &#8211; Company Inventory</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">112,800</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">20,600</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">8,800</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; border-bottom: Black 1pt solid">Units &#8211; Distributor Inventory (3)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">298,400</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">164,200</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">39,200</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; border-bottom: Black 1pt solid">Total inventory (4)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">411,200</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">184,800</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">48,000</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in">(3)</td><td style="text-align: justify">Distributor ending inventory as provided by the independent distributors of the Company&#8217;s products.
These numbers do not include goods-in-transit inventory that has been shipped from the Company but not yet received by the distributors.</td></tr></table><div>

</div><p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in">(4)</td><td style="text-align: justify">This total does not include inventory at retailers. The Company does not have access to data on retailer
inventories.</td></tr></table><div>

</div><p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&#160;</p><div>

</div><!-- Field: Page; Sequence: 34 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->34<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Quarterly Summary Unit Data</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">To supplement the summary annual unit data and
discussion above, the same data for the last eight quarters follows:</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">2022</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q4</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q3</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q2</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q1</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: justify">Units Ordered</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">156,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">295,600</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">250,600</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">381,600</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units Produced</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">397,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">382,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">431,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">521,300</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units Shipped</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">393,100</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">373,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">382,600</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">491,500</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Estimated Units Sold from Distributors to Retailers</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">397,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">343,500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">354,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">411,200</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Total Adjusted NICS Background Checks</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,531,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,764,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,917,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,213,000</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Unit Sales Price</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">378</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">371</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">366</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">338</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units &#8211; Backlog</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">647,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">884,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">962,600</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,094,600</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -14.15pt; padding-left: 14.15pt">Units &#8211; Company Inventory</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">112,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">108,600</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">99,700</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">50,400</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; text-indent: -14.15pt; padding-left: 14.15pt">Units &#8211; Distributor Inventory (5)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">298,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">303,100</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">272,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">244,600</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">2021</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q4</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q3</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q2</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q1</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: justify">Units Ordered</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">373,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">218,800</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">453,400</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">790,300</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units Produced</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">512,100</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">525,200</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">575,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">541,900</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units Shipped</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">502,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">524,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">580,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">535,000</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Estimated Units Sold from Distributors to Retailers</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">458,200</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">457,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">583,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">518,900</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Total Adjusted NICS Background Checks</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,763,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,971,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,298,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,483,000</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Unit Sales Price</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">334</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">338</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">343</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">343</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units &#8211; Backlog</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,204,500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,333,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,639,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,767,200</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -14.15pt; padding-left: 14.15pt">Units &#8211; Company Inventory</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">20,600</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,900</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">15,700</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; text-indent: -14.15pt; padding-left: 14.15pt">Units &#8211; Distributor Inventory (5)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">164,200</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">120,100</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">55,300</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 44.6pt; text-align: justify; text-indent: -22.3pt">&#160;</p><div>

</div><!-- Field: Page; Sequence: 35 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->35<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 44.6pt; text-align: justify"></p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 23.1pt"/><td style="width: 21.9pt">(5)</td><td style="text-align: justify">Distributor ending inventory as provided by the independent distributors of the Company&#8217;s products.</td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 45pt; text-align: justify; text-indent: -22.5pt">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 13.5pt; text-align: justify; text-indent: -13.5pt">(in millions
except average sales price, net of Federal Excise Tax)</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 13.5pt; text-align: justify; text-indent: -13.5pt">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">2022</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q4</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q3</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q2</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q1</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: justify">Orders Received</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">81.0</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">124.3</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">98.9</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">147.0</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Sales Price of Orders Received</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">519</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">421</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">395</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">385</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Ending Backlog</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">314.4</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">377.6</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">389.6</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">420.5</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Sales Price of Ending Backlog</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">486</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">427</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">405</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">384</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">2021</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q4</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q3</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q2</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Q1</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: justify">Orders Received</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">119.2</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">61.1</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">158.3</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">267.9</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Sales Price of Orders Received</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">320</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">279</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">349</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">339</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Ending Backlog</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">429.7</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">471.7</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">582.3</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">612.3</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Sales Price of Ending Backlog</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">357</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">354</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">355</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">346</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 36 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->36<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Net Sales, Cost of Products Sold, and Gross
Profit</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif">Net
sales, c</span>ost of products sold, and gross profit data for the year ended (dollars in millions):</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify; padding-bottom: 1pt">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; vertical-align: bottom; border-bottom: Black 1pt solid; text-align: center">December 31,<br/> 2022</td><td style="border-top: Black 1pt solid; vertical-align: bottom; white-space: nowrap; border-bottom: Black 1pt solid; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; vertical-align: bottom; border-bottom: Black 1pt solid; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; vertical-align: bottom; border-bottom: Black 1pt solid; text-align: center">December 31,<br/> 2021</td><td style="border-top: Black 1pt solid; vertical-align: bottom; white-space: nowrap; border-bottom: Black 1pt solid; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; vertical-align: bottom; border-bottom: Black 1pt solid; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; vertical-align: bottom; border-bottom: Black 1pt solid; text-align: center">Change</td><td style="border-top: Black 1pt solid; vertical-align: bottom; white-space: nowrap; border-bottom: Black 1pt solid; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; text-align: center; border-bottom: Black 1pt solid; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; vertical-align: bottom; border-bottom: Black 1pt solid; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; vertical-align: bottom; border-bottom: Black 1pt solid; text-align: center">% Change</td><td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: left">Net firearms sales</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">593.3</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">728.1</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(134.8)</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">(18.5</td><td style="white-space: nowrap; width: 1%; text-align: left">)%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Net casting sales</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2.5</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2.6</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(0.1)</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1.6</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total net sales</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">595.8</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">730.7</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(134.9)</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(18.5</td><td style="white-space: nowrap; text-align: left">)%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Cost of products sold</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">415.7</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">451.2</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(35.5)</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"/><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(7.8</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Gross profit</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">180.1</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">279.5</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(99.4)</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"/><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">(35.6</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">)%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gross margin</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">30.2%</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">38.3%</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(8.1)%</td><td style="white-space: nowrap; text-align: left"/><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(29.7</td><td style="white-space: nowrap; text-align: left">)%</td></tr>
  </table><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 20.9pt">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Firearms sales and unit shipments decreased 18.5%
and 23.4%, respectively, in 2022. New products represented $78.4 million or 14% of firearms sales in 2022, compared to $155.5 million
or 22% of firearms sales in 2021. New product sales include only major new products that were introduced in the past two years. In 2022,
new products included the MAX-9 pistol, LCP MAX, Marlin 1895 lever-action rifles, PC Charger, LC Carbine, and Small-Frame Autoloading
Rifle.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">The
decreased gross profit for the year ended December 31, 2022 is attributable to the significant decrease in sales</span>, as well as inflationary
cost increases in materials, commodities, services, energy, fuel and transportation, which were partially offset by increased pricing<span style="font-family: Times New Roman, Times, Serif"><i>.
</i></span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">The
decrease in gross margin for the year ended December 31, 2022 is attributable to the aforementioned inflationary cost increases and </span>unfavorable
deleveraging of fixed costs resulting from decreased production and sales.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Selling, General and Administrative</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Selling,
general and administrative expenses were $76.6 million in 2022, a slight increase of $0.1 million from $76.5 million in 2021, and an increase
from 10.5% of sales in 2021 to 12.9% of sales in 2022. </span>The increase in these expenses was primarily attributable to increased shipping
costs and to the resumption of trade show participation costs, travel expenditures, and advertising that had been deferred during the
height of the COVID-19 restrictions, almost entirely offset by decreased incentive compensation expenses and decreased variable costs,
such as shipping, as a result of the reduced sales volume.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 37 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->37<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Other Operating Income (Expense), Net</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Other operating income (expense), net was de minimis
in 2022 and an expense of $0.1 million in 2021.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Operating Income</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Operating income was $103.5 million or 17.3% of
sales in 2022. This is a decrease of $99.6 million from 2021 operating income of $203.1 million or 27.8% of sales.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Royalty Income</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Royalty income was $0.8 million in 2022 and $2.0
million in 2021.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Interest Income</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Interest income was $2.6 million in 2022, an increase
from de minimis earnings in 2021, due to significantly increased interest rates earned on short-term investments beginning in the second
quarter of 2022.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Interest Expense</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Interest expense was $0.3 million in 2022 and
$0.2 million and 2021.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Other Income, Net</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Other income, net was $1.7 million in 2022, an
increase of $0.1 million from $1.6 million in 2021.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Income Taxes and Net Income</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">The
effective income tax rate was 18.4% in 2022 and 24.5% in 2021. </span>The Company's 2022 and 2021 effective tax rate differs from the
statutory federal tax rate due principally to the availability of research and development tax credits, state income taxes, and the nondeductibility
of certain executive compensation. The decrease in the 2022 effective tax rate was primarily attributable to research and development
tax credits, some of which related to amended prior year income tax returns. The impact related to research and development tax credits
on the effective tax rate is expected to decline in future years.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As a result of the foregoing factors, consolidated
net income was $88.3 million in 2022. This represents a decrease of $67.6 million from 2021 consolidated net income of $155.9 million.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 38 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->38<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>Non-GAAP Financial Measure</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In an effort to provide investors with additional
information regarding its results, the Company refers to various United States generally accepted accounting principles (&#8220;GAAP&#8221;)
financial measures and two non-GAAP financial measures, EBITDA and EBITDA margin, which management believes provides useful information
to investors. These non-GAAP measures may not be comparable to similarly titled measures being disclosed by other companies. In addition,
the Company believes that the non-GAAP financial measures should be considered in addition to, and not in lieu of, GAAP financial measures.
The Company believes that EBITDA and EBITDA margin are useful to understanding its operating results and the ongoing performance of its
underlying business, as EBITDA provides information on the Company&#8217;s ability to meet its capital expenditure and working capital
requirements, and is also an indicator of profitability. The Company believes that this reporting provides better transparency and comparability
to its operating results. The Company uses both GAAP and non-GAAP financial measures to evaluate its financial performance.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Non-GAAP Reconciliation &#8211; EBITDA</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">EBITDA</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>(Unaudited, dollars in thousands)</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">Year ended December 31,</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2021</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; font-size: 8pt; background-color: White">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255); font-size: 10pt">
    <td style="width: 74%; text-align: left">Net income</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">88,332</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">155,899</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">19,947</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">50,695</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Depreciation and amortization expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">25,789</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">26,152</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">256</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">164</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Interest income</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(2,552</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(49</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">EBITDA</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">131,772</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">232,861</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">EBITDA margin</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">22.1%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">31.9%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">EBITDA is defined as earnings before interest,
taxes, and depreciation and amortization. The Company calculates this by adding the amount of interest expense, income tax expense and
depreciation and amortization expenses that have been deducted from net income back into net income, and subtracting the amount of interest
income that was included in net income from net income to arrive at EBITDA. The Company&#8217;s EBITDA calculation also excludes any one-time
non-cash, non-operating expense.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><!-- Field: Page; Sequence: 39 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->39<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>Financial Condition </b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Liquidity</span></span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">At
December 31, 2023, the Company had cash and cash equivalents of $15.2 million and $102.5 million in short term investments. The Company&#8217;s
pre-LIFO working capital of $272.5 million, less the LIFO reserve of $64.3 million, resulted in working capital of $208.2 million and
a current ratio of 4.3 to 1. The Company&#8217;s current ratio is higher than the previous year&#8217;s primarily due to the dividends
payable of $88 million related to the $5.00 per share special dividend that was declared on November 30, 2022 and paid on January 5, 2023.
</span>The Company also has access to a $40 million unsecured revolving line of credit that is currently undrawn.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Capital Resources</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company believes that its cash flow from operations,
current cash position, and access to capital markets will continue to be sufficient to meet its anticipated cash requirements and contractual
obligations, which includes funding the Company&#8217;s capital expenditures, acquisitions, dividend payments, and share repurchases.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Operations</span></span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Cash provided by operating activities was $33.9
million, $77.2 million, and $172.3 million in 2023, 2022, and 2021, respectively. The decrease in cash provided in 2023 compared to 2022
is primarily attributable to significantly decreased earnings in 2023.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>&#160;</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The decrease in cash provided in 2022 compared
to 2021 is primarily attributable to significantly decreased earnings in 2022 and increased inventories and trade receivables in 2022.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Third parties supply the Company with various
raw materials for its firearms and castings, such as fabricated steel components, walnut, birch, beech, maple and laminated lumber for
rifle stocks, wax, ceramic material, metal alloys, various synthetic products and other component parts. There is a limited supply of
these materials in the marketplace at any given time, which can cause the purchase prices to vary based upon numerous market factors.
If market conditions result in a significant prolonged inflation of certain prices or if adequate quantities of raw materials cannot be
obtained, the Company&#8217;s manufacturing processes could be interrupted and the Company&#8217;s financial condition or results of operations
could be materially adversely affected.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal">&#160;</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Investing
and Financing</span></span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Capital expenditures were $15.8 million, $27.7
million, and $28.8 million in 2023, 2022, and 2021, respectively. In 2024, the Company expects capital expenditures to approximate $15
million, much of which will relate to tooling and fixtures for new product introductions and to upgrade and modernize manufacturing equipment.
Due to market conditions and business circumstances, actual capital expenditures could vary significantly from the budgeted amount. The
Company finances, and intends to continue to finance, all of these activities with funds provided by operations and current cash.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 40 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->40<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Included in capital expenditures amount noted
above, on October 3, 2022 the Company purchased a 225,000 square foot facility, which it had previously been leasing, in Mayodan, North
Carolina for $8.3 million for use in its manufacturing and warehousing operations.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">As
of December 31, 2023, the Company had $74.7 million of United States Treasury instruments which mature within one year. </span>The Company
also invests available cash in a bank-managed money market fund that invests exclusively in United States Treasury instruments which mature
within one year. At December 31, 2023, the Company&#8217;s investment in this money market fund totaled $27.8 million.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0in">In 2023, the Company repurchased
264,062 shares of its common stock for $11.8 million in the open market. The average price per share purchased was $44.71. These purchases
were funded with cash on hand.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0in">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0in">In 2022, the Company repurchased
4,440 shares of its common stock for $0.2 million in the open market. The average price per share purchased was $49.87. These purchases
were funded with cash on hand. No shares were repurchased in 2021.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At December 31, 2023, approximately $74.7 million
remained authorized for future share repurchases<i>.</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On January 5, 2023, the Company paid a $5.00 per
share special dividend to shareholders of record on December 15, 2022.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Including the $5.00 per share special dividend
paid on January 5, 2023, the Company paid dividends totaling $110.8 million, $42.7 million, and $59.1 million in 2023, 2022, and 2021,
respectively. The quarterly dividend varies every quarter because the Company pays a percentage of earnings rather than a fixed amount
per share. The Company&#8217;s practice is to pay a dividend of approximately 40% of net income.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On February 16, 2024, the Company&#8217;s Board
of Directors authorized a dividend of 23&#162; per share to shareholders of record on March 15, 2024. The payment of future dividends
depends on many factors, including internal estimates of future performance, then-current cash, and the Company&#8217;s need for funds.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0in">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company provides supplemental discretionary
contributions to substantially all employees&#8217; individual 401(k) accounts.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Based on its unencumbered assets, the Company
believes it has the ability to raise cash through issuance of short-term or long-term debt.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal">&#160;</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Contractual
Obligations</span></span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At December 31, 2023, the Company had approximately
$51.3 million in agreements to purchase goods or services that are enforceable and legally binding on the Company, all of which are expected
to be settled in less than one year. Additionally, the Company has approximately $3.6 million in operating lease obligations, which will
be payable through 2034. The Company expects to fund all of these commitments with cash flows from operations and current cash.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 41 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->41<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0in"><span style="text-decoration:underline">Firearms Legislation
and Litigation</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">See Item 1A - Risk Factors and Note 20 to the
financial statements which are included in the Annual Report on Form 10-K for a discussion of firearms legislation and litigation.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0in"><span style="text-decoration:underline">Other Operational Matters</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In the normal course of its manufacturing operations,
the Company is subject to occasional governmental proceedings and orders pertaining to workplace safety, firearms serial number tracking
and control, waste disposal, air emissions and water discharges into the environment. The Company believes that it is generally in compliance
with applicable Bureau of Alcohol, Tobacco, Firearms &amp; Explosives, environmental, and safety regulations and the outcome of any proceedings
or orders will not have a material adverse effect on the financial position or results of operations of the Company. If these regulations
become more stringent in the future and we are not able to comply with them, such noncompliance could have a material adverse impact on
the Company.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Currently, there are 15 domestic distributors.
Additionally, the Company has 44 and 26 distributors servicing the export and law enforcement markets, respectively.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company self-insures a significant amount
of its product liability, workers&#8217; compensation, medical, and other insurance. It also carries significant deductible amounts on
various insurance policies.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The global outbreak of the Coronavirus disease
2019 was declared a pandemic by the World Health Organization and a national emergency by the U.S. Government in March 2020. The Company
has taken many proactive steps to maintain the health and safety of its employees and to mitigate the impact on its business. During the
twelve month period ended December 31, 2023, the Company did not experience a significant adverse impact on its business from COVID-19
or related government restrictions. The Company cannot predict the extent to which its business, results of operations, financial condition,
or cash flows will ultimately be impacted by COVID-19.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company expects to realize its deferred tax
assets through tax deductions against future taxable income.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Critical Accounting Policies and Estimates</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The preparation of financial statements in accordance
with accounting principles generally accepted in the United States requires management to make assumptions and estimates that affect the
reported amounts of assets and liabilities as of the balance sheet date and net sales and expenses recognized and incurred during the
reporting period then ended. The Company bases estimates on prior experience, facts and circumstances, and other assumptions, including
those reviewed with actuarial consultants and independent counsel, when applicable, that are believed to be reasonable. However, actual
results may differ from these estimates.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><!-- Field: Page; Sequence: 42 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->42<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company believes that the assumptions and judgments involved in the accounting estimates below have the greatest potential impact
on its financial statements, so the Company believes these to be its critical accounting estimates. The methodologies applied for determining
the estimates related to the below critical accounting estimates have not changed from the prior year.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Product Liability Accrual</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company believes the determination of its
product liability accrual is a critical accounting policy. The Company&#8217;s management reviews every lawsuit and claim and is in contact
with independent and corporate counsel on an ongoing basis. The provision for product liability claims is based upon many factors, which
vary for each case. These factors include the type of claim, nature and extent of injuries, historical settlement ranges, jurisdiction
where filed, and advice of counsel. An accrual is established for each lawsuit and claim, when appropriate, based on the nature of each
such lawsuit or claim.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Amounts are charged to product liability expense
in the period in which the Company becomes aware that a claim or, in some instances a threat of a claim, has been made when potential
losses or costs of defense are probable and can be reasonably estimated. Such amounts are determined based on the Company&#8217;s experience
in defending similar claims. Occasionally, charges are made for claims made in prior periods because the cumulative actual costs incurred
for that claim, or reasonably expected to be incurred in the future, exceed amounts already provided with respect to such claims. Likewise,
credits may be taken if cumulative actual costs incurred for that claim, or reasonably expected to be incurred in the future, are less
than amounts previously provided.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">While it is not possible to forecast the outcome
of litigation or the timing of related costs, in the opinion of management, after consultation with independent and corporate counsel,
there is a remote likelihood that litigation, including punitive damage claims, will have a material adverse effect on the financial position
of the Company, but such litigation may have a material impact on the Company&#8217;s financial results and cash flows for a particular
period.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Inventory Valuation and Reserves</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company believes the valuation of its inventory
and the related excess and obsolescence reserve is also a critical accounting policy. Inventories are carried at the lower of cost, principally
determined by the last-in, first-out (LIFO) method, or market. An actual valuation of inventory under the LIFO method is made at the end
of each year based on the inventory levels and the Company&#8217;s estimates of the prevailing costs of the many components of inventory
existing at that time.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company determines its excess and obsolescence
reserve by projecting the year in which inventory will be consumed into a finished product. Given ever-changing market conditions, customer
preferences and the anticipated introduction of new products, projecting the future usage of inventory is subjective. As such, it does
not seem prudent to carry inventory at full cost beyond what the Company projects to be needed during the next 36 months.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><!-- Field: Page; Sequence: 43 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->43<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b><span style="text-decoration:underline">Recent Accounting Pronouncements</span></b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In November of 2023, the FASB issued ASU 2023-07,
&#8220;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures.&#8221; The updated accounting guidance requires
enhanced reportable segment disclosures, primarily related to significant segment expenses which are regularly provided to the chief operating
decision maker. The guidance is effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning
after December 15, 2024. Retrospective application is required and early adoption is permitted. The Company is currently evaluating the
effect the updated guidance will have on its financial statement disclosures.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In December of 2023, the FASB issued ASU 2023-09,
&#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures.&#8221; The updated accounting guidance requires expanded income
tax disclosures, including the disaggregation of existing disclosures related to the effective tax rate reconciliation and income taxes
paid. The guidance is effective for fiscal years beginning after December 15, 2024. Prospective application is required, with retrospective
application permitted. The Company is currently evaluating the effect the updated guidance will have on its financial statement disclosures.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b><span style="text-decoration:underline">Forward-Looking Statements and Projections</span></b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company may, from time to time, make forward-looking
statements and projections concerning future expectations. Such statements are based on current expectations and are subject to certain
qualifying risks and uncertainties, such as market demand, sales levels of firearms, anticipated castings sales and earnings, the need
for external financing for operations or capital expenditures, the results of pending litigation against the Company, the impact of future
firearms control and environmental legislation and accounting estimates, any one or more of which could cause actual results to differ
materially from those projected. Words such as &#8220;expect,&#8221; &#8220;believe,&#8221; &#8220;anticipate,&#8221; &#8220;intend,&#8221;
&#8220;estimate,&#8221; &#8220;will,&#8221; &#8220;should,&#8221; &#8220;could&#8221; and other words and terms of similar meaning, typically
identify such forward-looking statements. Readers are cautioned not to place undue reliance on these forward-looking statements, which
speak only as of the date made. The Company undertakes no obligation to publish revised forward-looking statements to reflect events
or circumstances after the date such forward-looking statements are made or to reflect the occurrence of subsequent unanticipated events.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><div><a id="a_013"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>ITEM 7A&#8212;QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET
RISK</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company is exposed to changing interest rates
on its investments, which consist primarily of United States Treasury instruments with short-term (less than one year) maturities and
cash. The interest rate market risk implicit in the Company's investments at any given time is low, as the investments mature within short
periods and the Company does not have significant exposure to changing interest rates on invested cash.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company has not undertaken any actions to
cover interest rate market risk and is not a party to any interest rate market risk management activities.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><!-- Field: Page; Sequence: 44 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->44<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">A hypothetical 100 basis point change in market
interest rates over the next year would not materially impact the Company&#8217;s earnings or cash flows. A hypothetical 100 basis point
change in market interest rates would not have a material effect on the fair value of the Company&#8217;s investments.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 45 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->45<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><div><a id="a_014"></a></div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">ITEM 8&#8212;FINANCIAL STATEMENTS AND SUPPLEMENTARY
DATA</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">INDEX TO CONSOLIDATED FINANCIAL STATEMENTS</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse; margin-left: auto; margin-right: auto;"> <tr style="vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">Reports of Independent Registered Public Accounting Firm (PCAOB ID <ix:nonNumeric contextRef="c0" name="dei:AuditorFirmId" id="ixv-15232">49</ix:nonNumeric>)</td> <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: right">47</td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: right">&#160;</td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">Consolidated Balance Sheets at December 31, 2023 and 2022</td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: right">50</td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: right">&#160;</td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">Consolidated Statements of Income and Comprehensive Income for the years ended December 31, 2023, 2022 and 2021</td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: right">52</td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: right">&#160;</td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">Consolidated Statements of Stockholders&#8217; Equity for the years ended December 31, 2023, 2022 and 2021</td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: right">53</td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: right">&#160;</td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">Consolidated Statements of Cash Flows for the years ended December 31, 2023, 2022 and 2021</td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: right">54</td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: right">&#160;</td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">Notes to Consolidated Financial Statements</td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: right">55</td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: right">&#160;</td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: right">&#160;</td></tr> </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>


</div><!-- Field: Page; Sequence: 46 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->46<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>Report of Independent Registered Public Accounting Firm </b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">To the Stockholders and the Board of Directors of Sturm, Ruger &amp;
Company, Inc. and Subsidiary</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>Opinion on the Internal Control Over Financial Reporting </b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We have audited Sturm, Ruger &amp; Company, Inc. and Subsidiary&#8217;s
(the Company) internal control over financial reporting as of December 31, 2023, based on criteria established in <span style="color: black"><i>Internal
Control&#8212;Integrated Framework</i></span> issued by the Committee of Sponsoring Organizations of the Treadway Commission in 2013.
In our opinion, the Company maintained, in all material respects, effective internal control over financial reporting as of December 31,
2023, based on criteria established in <span style="color: black"><i>Internal Control&#8212;Integrated Framework</i></span> issued by
the Committee of Sponsoring Organizations of the Treadway Commission in 2013.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We have also audited, in accordance with the standards of the Public
Company Accounting Oversight Board (United States) (PCAOB), the consolidated balance sheets of the Company as of December 31, 2023 and
2022, and the related consolidated statements of income and comprehensive income, stockholders' equity, and cash flows for each of the
three years in the period ended December 31, 2023, and our report dated February 21, 2024 expressed an unqualified opinion.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>Basis for Opinion </b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The Company&#8217;s management is responsible for maintaining effective
internal control over financial reporting and for its assessment of the effectiveness of internal control over financial reporting in
the accompanying Management&#8217;s Report on Internal Control over Financial Reporting. Our responsibility is to express an opinion on
the Company&#8217;s internal control over financial reporting based on our audit. We are a public accounting firm registered with the
PCAOB and are required to be independent with respect to the Company in accordance with U.S. federal securities laws and the applicable
rules and regulations of the Securities and Exchange Commission and the PCAOB.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We conducted our audit in accordance with the standards of the PCAOB.
Those standards require that we plan and perform the audit to obtain reasonable assurance about whether effective internal control over
financial reporting was maintained in all material respects. Our audit included obtaining an understanding of internal control over financial
reporting, assessing the risk that a material weakness exists, and testing and evaluating the design and operating effectiveness of internal
control based on the assessed risk. Our audit also included performing such other procedures as we considered necessary in the circumstances.
We believe that our audit provides a reasonable basis for our opinion.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>Definition and Limitations of Internal Control Over Financial Reporting</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">A company's internal control over financial reporting is a process
designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements
for external purposes in accordance with generally accepted accounting principles. A company's internal control over financial reporting
includes those policies and procedures that (1) pertain to the maintenance of records that, in reasonable detail, accurately and fairly
reflect the transactions and dispositions of the assets of the company; (2) provide reasonable assurance that transactions are recorded
as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts
and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and
(3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use or disposition of the company's
assets that could have a material effect on the financial statements.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Because of its inherent limitations, internal control over financial
reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject
to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or
procedures may deteriorate.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">/s/RSM US LLP</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Stamford, Connecticut</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">February 21, 2024</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><!-- Field: Page; Sequence: 47 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->47<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left">Report of Independent Registered Public Accounting
Firm</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">To the Stockholders and the Board of Directors of Sturm, Ruger &amp;
Company, Inc. and Subsidiary</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>Opinion on the Financial Statements</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We have audited the accompanying consolidated balance sheets of Sturm,
Ruger &amp; Company, Inc. and Subsidiary (the Company) as of December 31, 2023 and 2022, the related consolidated statements of income
and comprehensive income, stockholders&#8217; equity and cash flows for each of the three years in the period ended December 31, 2023,
and the related notes to the consolidated financial statements and schedule (collectively, the financial statements). In our opinion,
the financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2023 and 2022,
and the results of its operations and its cash flows for each of the three years in the period ended December 31, 2023, in conformity
with accounting principles generally accepted in the United States of America.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We have also audited, in accordance with the standards of the Public&#160;Company
Accounting Oversight Board (United&#160;States)&#160;(PCAOB), the Company&#8217;s internal control over financial reporting as of December&#160;31,
2023, based on criteria established in <span style="color: black"><i>Internal Control&#8212;Integrated Framework</i></span> issued by
the Committee of Sponsoring Organizations of the Treadway Commission in 2013, and our report dated February 21, 2024 expressed an unqualified
opinion on the effectiveness of the Company&#8217;s internal control over financial reporting.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>Basis for Opinion</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">These financial statements are the responsibility of the Company&#8217;s
management. Our responsibility is to express an opinion on the Company&#8217;s financial statements based on our audits. We are a public
accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with U.S. federal
securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We conducted our audits in accordance with the standards of the PCAOB.
Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free
of material misstatement, whether due to error or fraud. Our audits included performing procedures to assess the risks of material misstatement
of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included
examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating
the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial
statements. We believe that our audits provide a reasonable basis for our opinion.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>Critical Audit Matters<br/>
</b>The critical audit matter communicated below is a matter arising from the current period audit of the financial statements that was
communicated or required to be communicated to the audit committee and that: (1) relates to accounts or disclosures that are material
to the financial statements and (2) involved our especially challenging, subjective or complex judgments. The communication of critical
audit matters does not alter in any way our opinion on the financial statements, taken as a whole, and we are not, by communicating the
critical audit matter below, providing a separate opinion on the critical audit matter or on the accounts or disclosures to which it
relates.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></p><div>

</div><!-- Field: Page; Sequence: 48 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->48<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>Last-In, First-Out Inventory Reserve<br/>
</b>As described in Notes 1 and 4 to the financial statements, substantially all of the Company&#8217;s inventories are valued at the
lower of cost, which is principally determined by the last-in, first-out (LIFO) method, or net realizable value, and the Company&#8217;s
consolidated net inventories balance of $79.8 million as of December 31, 2023, included a LIFO inventory reserve of $64.3 million. The
Company records its net inventories under the LIFO method at the end of each year based on the inventory levels at the measurement date
and the prevailing inventory costs existing at that time, which are estimated using a complex manual calculation.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We identified the LIFO inventory reserve as a critical audit matter
because of the complexities of the manual calculations performed by management to estimate the prevailing inventory costs, which includes
calculations to estimate current year price level changes through the development of a prior year and a current year cumulative price
index. Auditing management&#8217;s estimate of the LIFO inventory reserve was complex and required a high degree of auditor judgement
and increased audit effort due to the complexities of management&#8217;s manual calculations.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Our audit procedures related to the Company&#8217;s LIFO inventory
reserve included the following, among others:</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.25in"><span>&#9679;</span></td><td><span style="font-family: Times New Roman, Times, Serif">We obtained an understanding of the relevant controls related to the LIFO
inventory reserve and tested such controls for design and operating effectiveness, including controls related to the review of the calculations
related to the estimate of the current year price level changes, the calculation of the cumulative price indexes, and the estimate of
the LIFO inventory reserve. </span></td></tr></table><div>

</div><p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.25in"><span>&#9679;</span></td><td><span style="font-family: Times New Roman, Times, Serif">We tested the completeness, accuracy, and relevance of the underlying data
used in management&#8217;s estimate of the current year price level changes, the calculation of cumulative price index and the LIFO inventory
reserve.</span></td></tr></table><div>

</div><p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.25in"><span>&#9679;</span></td><td><span style="font-family: Times New Roman, Times, Serif">We tested the mathematical accuracy of the Company&#8217;s calculation to
estimate the LIFO inventory reserve. </span></td></tr></table><div>

</div><p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.25in"><span>&#9679;</span></td><td><span style="font-family: Times New Roman, Times, Serif">We evaluated the appropriateness of management&#8217;s methodologies to develop
the estimate of the LIFO inventory reserve.</span></td></tr></table><div>

</div><p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.25in"><span>&#9679;</span></td><td><span style="font-family: Times New Roman, Times, Serif">We evaluated the reasonableness of management&#8217;s estimate of the current
year price level changes by comparing management&#8217;s estimate to external market data.</span></td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">/s/<ix:nonNumeric contextRef="c0" name="dei:AuditorName" id="ixv-15233">RSM US LLP</ix:nonNumeric></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We have served as the Company&#8217;s auditor since 2005.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><ix:nonNumeric contextRef="c0" name="dei:AuditorLocation" id="ixv-15234">Stamford, Connecticut</ix:nonNumeric></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">February 21, 2024</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><!-- Field: Page; Sequence: 49 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->49<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Consolidated Balance Sheets</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>(Dollars in thousands, except per share data)</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: bold 10pt Times New Roman, Times, Serif; text-align: justify">Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Current Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 74%; text-align: left">Cash and cash equivalents</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" unitRef="usd" id="ixv-15235">15,174</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" unitRef="usd" id="ixv-15236">65,173</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Short-term investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ShortTermInvestments" scale="3" unitRef="usd" id="ixv-15237">102,485</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ShortTermInvestments" scale="3" unitRef="usd" id="ixv-15238">159,132</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Trade receivables, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" unitRef="usd" id="ixv-15239">59,864</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" unitRef="usd" id="ixv-15240">65,449</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryGross" scale="3" unitRef="usd" id="ixv-15241">150,192</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryGross" scale="3" unitRef="usd" id="ixv-15242">129,294</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: 0pt; padding-left: 10pt">Less LIFO reserve</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryLIFOReserve" scale="3" unitRef="usd" id="ixv-15243">64,262</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryLIFOReserve" scale="3" unitRef="usd" id="ixv-15244">59,489</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left; padding-left: 10pt">Less excess and obsolescence reserve</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryValuationReserves" scale="3" unitRef="usd" id="ixv-15245">6,120</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryValuationReserves" scale="3" unitRef="usd" id="ixv-15246">4,812</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 10pt; text-align: left">Net inventories</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryNet" scale="3" unitRef="usd" id="ixv-15247">79,810</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryNet" scale="3" unitRef="usd" id="ixv-15248">64,993</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Prepaid expenses and other current assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" unitRef="usd" id="ixv-15249">14,062</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" unitRef="usd" id="ixv-15250">7,091</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Total Current Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AssetsCurrent" scale="3" unitRef="usd" id="ixv-15251">271,395</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AssetsCurrent" scale="3" unitRef="usd" id="ixv-15252">361,838</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Property, plant and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-15253">462,397</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-15254">447,126</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; border-bottom: Black 1pt solid">Less allowances for depreciation</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" unitRef="usd" id="ixv-15255">390,863</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" unitRef="usd" id="ixv-15256">370,273</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; border-bottom: Black 1pt solid">Net property, plant and equipment</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" unitRef="usd" id="ixv-15257">71,534</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" unitRef="usd" id="ixv-15258">76,853</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Deferred income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" unitRef="usd" id="ixv-15259">11,976</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" unitRef="usd" id="ixv-15260">6,109</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Other assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" unitRef="usd" id="ixv-15261">43,912</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" unitRef="usd" id="ixv-15262">39,963</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Total Assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-15263">398,817</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-15264">484,763</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>See accompanying notes to consolidated financial statements.</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><!-- Field: Page; Sequence: 50 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->50<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="border-top: Black 1pt solid; vertical-align: bottom; font-size: 8pt">
    <td style="padding-left: 0pt; border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; text-indent: 0pt">December 31,</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2023</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt">
    <td style="padding-left: 0pt; text-indent: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font: bold 10pt Times New Roman, Times, Serif; text-align: justify">Liabilities and Stockholders&#8217; Equity</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0pt; text-indent: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0pt; text-align: left; text-indent: 0pt">Current Liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0pt; text-indent: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0pt; width: 74%; text-align: left; text-indent: 0pt">Trade accounts payable and accrued expenses</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent" scale="3" unitRef="usd" id="ixv-15265">31,708</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent" scale="3" unitRef="usd" id="ixv-15266">35,658</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0pt; text-align: left; text-indent: 0pt">Dividends payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-4">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DividendsPayableCurrent" scale="3" unitRef="usd" id="ixv-15267">88,343</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0pt; text-align: left; text-indent: 0pt">Contract liabilities with customers (Note 2)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" unitRef="usd" id="ixv-15268">149</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" unitRef="usd" id="ixv-15269">1,031</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0pt; text-align: left; text-indent: 0pt">Product liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="rgr:ProductLiabilityCurrent" scale="3" unitRef="usd" id="ixv-15270">634</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="rgr:ProductLiabilityCurrent" scale="3" unitRef="usd" id="ixv-15271">235</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0pt; text-align: left; text-indent: 0pt">Employee compensation and benefits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccruedEmployeeBenefitsCurrent" scale="3" unitRef="usd" id="ixv-15272">24,660</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccruedEmployeeBenefitsCurrent" scale="3" unitRef="usd" id="ixv-15273">30,160</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0pt; text-align: left; text-indent: 0pt">Workers&#8217; compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WorkersCompensationLiabilityCurrent" scale="3" unitRef="usd" id="ixv-15274">6,044</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WorkersCompensationLiabilityCurrent" scale="3" unitRef="usd" id="ixv-15275">6,469</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0pt; text-align: left; border-bottom: Black 1pt solid; text-indent: 0pt">Income taxes payable</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-5">&#8212;</div></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TaxesPayableCurrent" scale="3" unitRef="usd" id="ixv-15276">1,171</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0pt; text-align: left; text-indent: 0pt">Total Current Liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesCurrent" scale="3" unitRef="usd" id="ixv-15277">63,195</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesCurrent" scale="3" unitRef="usd" id="ixv-15278">163,067</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0pt; text-indent: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0pt; text-align: left; text-indent: 0pt">Lease liability (Note 7)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" unitRef="usd" id="ixv-15279">2,170</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" unitRef="usd" id="ixv-15280">3,039</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0pt; text-align: left; text-indent: 0pt">Employee compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="rgr:EmployeeCompensation" scale="3" unitRef="usd" id="ixv-15281">1,685</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="rgr:EmployeeCompensation" scale="3" unitRef="usd" id="ixv-15282">1,846</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0pt; text-align: left; text-indent: 0pt">Product liability accrual</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="rgr:ProductLiabilityAccrualNoncurrent" scale="3" unitRef="usd" id="ixv-15283">46</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="rgr:ProductLiabilityAccrualNoncurrent" scale="3" unitRef="usd" id="ixv-15284">73</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0pt; text-indent: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0pt; text-align: left; text-indent: 0pt">Contingent liabilities (Note 20)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-6">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-7">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0pt; text-indent: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0pt; text-align: left; text-indent: 0pt">Stockholders&#8217; Equity</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: 0pt; padding-left: 0pt">Common stock, non-voting, par value $<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" unitRef="usdPershares" id="ixv-15285"><ix:nonFraction contextRef="c6" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" unitRef="usdPershares" id="ixv-15286">1</ix:nonFraction></ix:nonFraction>:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 0pt; padding-left: 10pt">Authorized shares &#8211; <ix:nonFraction contextRef="c5" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" unitRef="shares" id="ixv-15287"><ix:nonFraction contextRef="c6" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" unitRef="shares" id="ixv-15288">50,000</ix:nonFraction></ix:nonFraction>; <span style="-sec-ix-hidden: hidden-fact-10"><span style="-sec-ix-hidden: hidden-fact-11">none</span></span> issued</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-8">&#160;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-9">&#160;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0pt; text-indent: 0pt">Common stock, par value $<ix:nonFraction contextRef="c7" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" unitRef="usdPershares" id="ixv-15289"><ix:nonFraction contextRef="c8" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" unitRef="usdPershares" id="ixv-15290">1</ix:nonFraction></ix:nonFraction>:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-indent: 0pt">Authorized shares &#8211; <ix:nonFraction contextRef="c7" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" unitRef="shares" id="ixv-15291"><ix:nonFraction contextRef="c8" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" unitRef="shares" id="ixv-15292">40,000,000</ix:nonFraction></ix:nonFraction></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-indent: 0pt">2023 &#8211; <ix:nonFraction contextRef="c7" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesIssued" scale="0" unitRef="shares" id="ixv-15293">24,437,020</ix:nonFraction> issued,</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 38pt; text-indent: 0pt"><ix:nonFraction contextRef="c7" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" unitRef="shares" id="ixv-15294">17,458,620</ix:nonFraction> outstanding</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: 0pt; padding-left: 10pt">2022 &#8211; <ix:nonFraction contextRef="c8" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesIssued" scale="0" unitRef="shares" id="ixv-15295">24,378,568</ix:nonFraction> issued,</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 38pt; text-indent: 0pt"><ix:nonFraction contextRef="c8" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" unitRef="shares" id="ixv-15296">17,664,230</ix:nonFraction> outstanding</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c7" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockValue" scale="3" unitRef="usd" id="ixv-15297">24,437</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c8" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockValue" scale="3" unitRef="usd" id="ixv-15298">24,378</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0pt; text-align: left; text-indent: 0pt">Additional paid-in capital</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" unitRef="usd" id="ixv-15299">46,849</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" unitRef="usd" id="ixv-15300">45,075</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0pt; text-align: left; text-indent: 0pt">Retained earnings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" unitRef="usd" id="ixv-15301">418,058</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" unitRef="usd" id="ixv-15302">393,097</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0pt; text-align: left; text-indent: 0pt">Less: Treasury stock &#8211; at cost</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-indent: 0pt">2023 &#8211; <ix:nonFraction contextRef="c3" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockCommonShares" scale="0" unitRef="shares" id="ixv-15303">6,978,400</ix:nonFraction> shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 10pt; text-indent: 0pt">2022 &#8211; <ix:nonFraction contextRef="c4" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockCommonShares" scale="0" unitRef="shares" id="ixv-15304">6,714,338</ix:nonFraction> shares</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockCommonValue" scale="3" unitRef="usd" id="ixv-15305">157,623</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockCommonValue" scale="3" unitRef="usd" id="ixv-15306">145,812</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0pt; text-align: left; border-bottom: Black 1pt solid; text-indent: 0pt">Total Stockholders&#8217; Equity</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-15307">331,721</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-15308">316,738</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0pt; text-align: left; border-bottom: Black 1pt solid; text-indent: 0pt">Total Liabilities and Stockholders&#8217; Equity</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" unitRef="usd" id="ixv-15309">398,817</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" unitRef="usd" id="ixv-15310">484,763</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>See accompanying notes to consolidated financial statements.</i></p><div>

</div><p style="color: #243F60; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><!-- Field: Page; Sequence: 51 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->51<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; color: #243F60; margin: 0pt 0"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Consolidated Statements of Income and Comprehensive Income</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>(In thousands, except per share data)</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">Year ended December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2021</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left">Net firearms sales</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c9" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15311">540,746</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c10" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15312">593,289</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c11" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15313">728,141</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Net castings sales</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c12" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15314">3,021</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c13" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15315">2,553</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c14" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15316">2,595</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total net sales</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15317">543,767</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15318">595,842</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15319">730,736</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Cost of products sold</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" unitRef="usd" id="ixv-15320">410,148</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" unitRef="usd" id="ixv-15321">415,757</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" unitRef="usd" id="ixv-15322">451,179</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Gross profit</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-15323">133,619</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-15324">180,085</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-15325">279,557</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Operating Expenses (Incomes):</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -23.4pt; padding-left: 0.5in">Selling</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingExpense" scale="3" unitRef="usd" id="ixv-15326">38,788</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingExpense" scale="3" unitRef="usd" id="ixv-15327">36,114</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingExpense" scale="3" unitRef="usd" id="ixv-15328">33,259</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 12.6pt">General and administrative</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" unitRef="usd" id="ixv-15329">42,752</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" unitRef="usd" id="ixv-15330">40,551</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" unitRef="usd" id="ixv-15331">43,289</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid; text-indent: 13.5pt">Other operating income, net</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" unitRef="usd" id="ixv-15332">5</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" unitRef="usd" id="ixv-15333">36</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" unitRef="usd" id="ixv-15334">127</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total operating expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingExpenses" scale="3" unitRef="usd" id="ixv-15335">81,535</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingExpenses" scale="3" unitRef="usd" id="ixv-15336">76,629</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingExpenses" scale="3" unitRef="usd" id="ixv-15337">76,421</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Operating income</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" unitRef="usd" id="ixv-15338">52,084</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" unitRef="usd" id="ixv-15339">103,456</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" unitRef="usd" id="ixv-15340">203,136</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Other income:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 13.5pt">Royalty income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RoyaltyIncomeNonoperating" scale="3" unitRef="usd" id="ixv-15341">658</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RoyaltyIncomeNonoperating" scale="3" unitRef="usd" id="ixv-15342">837</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RoyaltyIncomeNonoperating" scale="3" unitRef="usd" id="ixv-15343">1,975</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: 13.5pt">Interest income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InvestmentIncomeInterest" scale="3" unitRef="usd" id="ixv-15344">5,465</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InvestmentIncomeInterest" scale="3" unitRef="usd" id="ixv-15345">2,552</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InvestmentIncomeInterest" scale="3" unitRef="usd" id="ixv-15346">49</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 13.5pt">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestExpense" scale="3" unitRef="usd" id="ixv-15347">205</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestExpense" scale="3" unitRef="usd" id="ixv-15348">256</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestExpense" scale="3" unitRef="usd" id="ixv-15349">164</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid; text-indent: 13.5pt">Other income, net</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" unitRef="usd" id="ixv-15350">822</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" unitRef="usd" id="ixv-15351">1,690</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" unitRef="usd" id="ixv-15352">1,598</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Total other income, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NonoperatingIncomeExpense" scale="3" unitRef="usd" id="ixv-15353">6,740</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NonoperatingIncomeExpense" scale="3" unitRef="usd" id="ixv-15354">4,823</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NonoperatingIncomeExpense" scale="3" unitRef="usd" id="ixv-15355">3,458</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Income before income taxes</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" unitRef="usd" id="ixv-15356">58,824</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" unitRef="usd" id="ixv-15357">108,279</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" unitRef="usd" id="ixv-15358">206,594</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-15359">10,609</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-15360">19,947</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-15361">50,695</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Net income and comprehensive income</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-15362">48,215</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-15363">88,332</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-15364">155,899</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">Basic Earnings Per Share</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-15365">2.73</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-15366">5.00</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-15367">8.87</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">Diluted Earnings Per Share</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-15368">2.71</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-15369">4.96</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-15370">8.78</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">Weighted average number of common shares outstanding &#8211; Basic</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" unitRef="shares" id="ixv-15371">17,676,955</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" unitRef="shares" id="ixv-15372">17,648,850</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" unitRef="shares" id="ixv-15373">17,585,604</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">Weighted average number of common shares outstanding &#8211; Diluted</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" unitRef="shares" id="ixv-15374">17,811,218</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" unitRef="shares" id="ixv-15375">17,793,348</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" unitRef="shares" id="ixv-15376">17,757,834</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">Cash Dividends Per Share</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" unitRef="usdPershares" id="ixv-15377">6.27</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" unitRef="usdPershares" id="ixv-15378">2.42</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" unitRef="usdPershares" id="ixv-15379">3.36</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>&#160;</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>See accompanying notes to consolidated financial statements.</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></p><div>

</div><!-- Field: Page; Sequence: 52 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->52<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>&#160;</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Consolidated Statements of Stockholders&#8217; Equity</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>(Dollars in thousands)</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>&#160;</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>&#160;</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Common <br/>Stock</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Additional <br/>
Paid-in <br/>
Capital</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Retained <br/>
Earnings</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Treasury <br/>
Stock</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Total</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 35%; text-indent: -31.5pt; padding-left: 31.5pt">Balance at December 31, 2020</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c17" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-15380">24,206</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c18" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-15381">43,468</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c19" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-15382">342,615</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(<ix:nonFraction contextRef="c20" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" sign="-" unitRef="usd" id="ixv-15383">145,590</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c21" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-15384">264,699</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c22" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-15385">155,899</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-15386">155,899</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Dividends paid</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c22" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DividendsCommonStock" scale="3" unitRef="usd" id="ixv-15387">59,104</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DividendsCommonStock" scale="3" unitRef="usd" id="ixv-15388">59,104</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Stock-based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c23" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" unitRef="usd" id="ixv-15389">8,280</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" unitRef="usd" id="ixv-15390">8,280</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -13.5pt; padding-left: 31.5pt">Vesting of RSU&#8217;s</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c23" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" scale="3" sign="-" unitRef="usd" id="ixv-15391">4,801</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" scale="3" sign="-" unitRef="usd" id="ixv-15392">4,801</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Common stock issued &#8211; compensation plans</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c24" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" unitRef="usd" id="ixv-15393">100</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c23" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" sign="-" unitRef="usd" id="ixv-15394">100</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-12">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -13.5pt; padding-left: 31.5pt">Unpaid dividends accrued</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c22" decimals="-3" format="ixt:num-dot-decimal" name="rgr:DividendsCommonStockUnpaid" scale="3" unitRef="usd" id="ixv-15395">1,312</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="rgr:DividendsCommonStockUnpaid" scale="3" unitRef="usd" id="ixv-15396">1,312</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance at December 31, 2021</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c25" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-15397">24,306</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c26" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-15398">46,847</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c27" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-15399">438,098</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c28" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" sign="-" unitRef="usd" id="ixv-15400">145,590</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c29" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-15401">363,661</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c30" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-15402">88,332</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-15403">88,332</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Dividends paid</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c30" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DividendsCommonStock" scale="3" unitRef="usd" id="ixv-15404">42,718</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DividendsCommonStock" scale="3" unitRef="usd" id="ixv-15405">42,718</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Stock-based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c31" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" unitRef="usd" id="ixv-15406">1,671</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" unitRef="usd" id="ixv-15407">1,671</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -13.5pt; padding-left: 31.5pt">Vesting of RSU&#8217;s</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c31" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" scale="3" sign="-" unitRef="usd" id="ixv-15408">3,371</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" scale="3" sign="-" unitRef="usd" id="ixv-15409">3,371</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Common stock issued &#8211; compensation plans</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c32" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" unitRef="usd" id="ixv-15410">72</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c31" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" sign="-" unitRef="usd" id="ixv-15411">72</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-13">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Unpaid dividends accrued</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c30" decimals="-3" format="ixt:num-dot-decimal" name="rgr:DividendsCommonStockUnpaid" scale="3" unitRef="usd" id="ixv-15412">90,615</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="rgr:DividendsCommonStockUnpaid" scale="3" unitRef="usd" id="ixv-15413">90,615</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-indent: -13.5pt; padding-left: 31.5pt">Repurchase of <ix:nonFraction contextRef="c15" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" unitRef="shares" id="ixv-15414">4,440</ix:nonFraction> shares of common stock</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c33" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" unitRef="usd" id="ixv-15415">222</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" unitRef="usd" id="ixv-15416">222</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">Balance at December 31, 2022</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c34" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-15417">24,378</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c35" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-15418">45,075</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c36" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-15419">393,097</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c37" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" sign="-" unitRef="usd" id="ixv-15420">145,812</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-15421">316,738</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c38" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-15422">48,215</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-15423">48,215</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Dividends paid</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c38" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DividendsCommonStock" scale="3" unitRef="usd" id="ixv-15424">22,446</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DividendsCommonStock" scale="3" unitRef="usd" id="ixv-15425">22,446</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Stock-based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c39" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" unitRef="usd" id="ixv-15426">3,989</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" unitRef="usd" id="ixv-15427">3,989</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -13.5pt; padding-left: 31.5pt">Vesting of RSU&#8217;s</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c39" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" scale="3" sign="-" unitRef="usd" id="ixv-15428">2,156</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" scale="3" sign="-" unitRef="usd" id="ixv-15429">2,156</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Common stock issued &#8211; compensation plans</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c40" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" unitRef="usd" id="ixv-15430">59</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c39" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" sign="-" unitRef="usd" id="ixv-15431">59</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-14">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Unpaid dividends accrued</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c38" decimals="-3" format="ixt:num-dot-decimal" name="rgr:DividendsCommonStockUnpaid" scale="3" unitRef="usd" id="ixv-15432">808</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="rgr:DividendsCommonStockUnpaid" scale="3" unitRef="usd" id="ixv-15433">808</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-indent: -13.5pt; padding-left: 31.5pt">Repurchase of <ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" unitRef="shares" id="ixv-15434">264,062</ix:nonFraction> shares of common stock</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c41" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" unitRef="usd" id="ixv-15435">11,811</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" unitRef="usd" id="ixv-15436">11,811</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">Balance at December 31, 2023</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c42" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-15437">24,437</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c43" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-15438">46,849</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c44" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-15439">418,058</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c45" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" sign="-" unitRef="usd" id="ixv-15440">157,623</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-15441">331,721</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>&#160;</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>See accompanying notes to consolidated financial statements.</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>&#160;</i></p><div>

</div><!-- Field: Page; Sequence: 53 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->53<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Consolidated Statements of Cash Flows</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>(In thousands)</i></p><div>

</div><p style="color: #243F60; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">Year ended December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; color: black; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; color: black; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; color: black">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; color: black; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; color: black; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; color: black">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; color: black; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; color: black; text-align: right; border-bottom: Black 1pt solid">2021</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; color: black">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: justify">Operating Activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left; text-indent: -0.25in; padding-left: 0.5in">Net income</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-15442">48,215</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-15443">88,332</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-15444">155,899</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 0.25in">Adjustments to reconcile net income to cash provided by operating activities, net of effects of acquisition:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0.5in">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" unitRef="usd" id="ixv-15445">22,383</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" unitRef="usd" id="ixv-15446">25,789</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" unitRef="usd" id="ixv-15447">26,152</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 0.5in">Stock-based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensation" scale="3" unitRef="usd" id="ixv-15448">3,989</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensation" scale="3" unitRef="usd" id="ixv-15449">1,671</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensation" scale="3" unitRef="usd" id="ixv-15450">8,280</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0.5in">Excess and obsolescence inventory reserve</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="rgr:ExcessAndObsolescenceInventoryReserves" scale="3" sign="-" unitRef="usd" id="ixv-15451">1,308</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="rgr:ExcessAndObsolescenceInventoryReserves" scale="3" sign="-" unitRef="usd" id="ixv-15452">501</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="rgr:ExcessAndObsolescenceInventoryReserves" scale="3" sign="-" unitRef="usd" id="ixv-15453">953</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 0.5in">Gain on sale of assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" unitRef="usd" id="ixv-15454">5</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" unitRef="usd" id="ixv-15455">36</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" unitRef="usd" id="ixv-15456">127</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0.5in">Deferred income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredOtherTaxExpenseBenefit" scale="3" sign="-" unitRef="usd" id="ixv-15457">5,867</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredOtherTaxExpenseBenefit" scale="3" sign="-" unitRef="usd" id="ixv-15458">5,573</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredOtherTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-15459">994</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 0.5in">Changes in operating assets and liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -0.25in; padding-left: 1in">Trade receivables</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" sign="-" unitRef="usd" id="ixv-15460">5,585</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" unitRef="usd" id="ixv-15461">8,413</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" sign="-" unitRef="usd" id="ixv-15462">840</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: 0.75in">Inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInInventories" scale="3" unitRef="usd" id="ixv-15463">16,125</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInInventories" scale="3" unitRef="usd" id="ixv-15464">21,644</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInInventories" scale="3" unitRef="usd" id="ixv-15465">15,726</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: 0.75in">Trade accounts payable and accrued expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" scale="3" sign="-" unitRef="usd" id="ixv-15466">4,406</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" scale="3" sign="-" unitRef="usd" id="ixv-15467">640</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" scale="3" sign="-" unitRef="usd" id="ixv-15468">392</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 0.75in">Contract liability with customers</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" sign="-" unitRef="usd" id="ixv-15469">882</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" unitRef="usd" id="ixv-15470">1,031</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" sign="-" unitRef="usd" id="ixv-15471">84</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: 0.75in">Employee compensation and benefits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" scale="3" sign="-" unitRef="usd" id="ixv-15472">6,469</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" scale="3" sign="-" unitRef="usd" id="ixv-15473">3,420</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" scale="3" sign="-" unitRef="usd" id="ixv-15474">5,433</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 0.75in">Product liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="rgr:IncreaseDecreaseInProductLiability" scale="3" unitRef="usd" id="ixv-15475">372</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="rgr:IncreaseDecreaseInProductLiability" scale="3" sign="-" unitRef="usd" id="ixv-15476">584</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="rgr:IncreaseDecreaseInProductLiability" scale="3" sign="-" unitRef="usd" id="ixv-15477">234</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -0.25in; padding-left: 1in">Prepaid expenses, other assets and other liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet" scale="3" unitRef="usd" id="ixv-15478">13,026</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet" scale="3" unitRef="usd" id="ixv-15479">954</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet" scale="3" sign="-" unitRef="usd" id="ixv-15480">1,217</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid; text-indent: 0.75in">Income taxes receivable/payable</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" scale="3" sign="-" unitRef="usd" id="ixv-15481">1,171</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" scale="3" unitRef="usd" id="ixv-15482">1,171</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-15">&#8212;</div></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: 0.5in">Cash provided by operating activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" unitRef="usd" id="ixv-15483">33,901</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" unitRef="usd" id="ixv-15484">77,231</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" unitRef="usd" id="ixv-15485">172,339</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: justify">Investing Activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 0.25in">Property, plant and equipment additions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" unitRef="usd" id="ixv-15486">15,796</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" unitRef="usd" id="ixv-15487">27,730</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" unitRef="usd" id="ixv-15488">28,776</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: 0.25in">Purchases of short-term investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquireInvestments" scale="3" unitRef="usd" id="ixv-15489">192,627</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquireInvestments" scale="3" unitRef="usd" id="ixv-15490">365,480</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquireInvestments" scale="3" unitRef="usd" id="ixv-15491">681,940</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 0.25in">Proceeds from maturity of short-term investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments" scale="3" unitRef="usd" id="ixv-15492">249,274</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments" scale="3" unitRef="usd" id="ixv-15493">406,319</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments" scale="3" unitRef="usd" id="ixv-15494">602,976</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid; text-indent: 0.25in">Net proceeds from sale of assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" unitRef="usd" id="ixv-15495">5</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" unitRef="usd" id="ixv-15496">100</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" unitRef="usd" id="ixv-15497">203</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 35.9pt; padding-left: 0.1pt">Cash provided by (used for) investing activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" unitRef="usd" id="ixv-15498">40,856</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" unitRef="usd" id="ixv-15499">13,209</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" sign="-" unitRef="usd" id="ixv-15500">107,537</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: justify">Financing Activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: 0.25in">Dividends paid</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsOfDividendsCommonStock" scale="3" unitRef="usd" id="ixv-15501">110,789</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsOfDividendsCommonStock" scale="3" unitRef="usd" id="ixv-15502">42,718</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsOfDividendsCommonStock" scale="3" unitRef="usd" id="ixv-15503">59,104</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 0.25in">Repurchase of common stock</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" unitRef="usd" id="ixv-15504">11,811</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" unitRef="usd" id="ixv-15505">222</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-16">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -0.25in; padding-left: 0.5in">Payment of employee
    withholding tax related to share-based compensation</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" unitRef="usd" id="ixv-15506">2,156</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" unitRef="usd" id="ixv-15507">3,371</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" unitRef="usd" id="ixv-15508">4,801</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid; text-indent: 0.5in">Cash used for financing activities</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" sign="-" unitRef="usd" id="ixv-15509">124,756</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" sign="-" unitRef="usd" id="ixv-15510">46,311</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" sign="-" unitRef="usd" id="ixv-15511">63,905</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">(Decrease) increase in cash and cash equivalents</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" scale="3" sign="-" unitRef="usd" id="ixv-15512">49,999</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" scale="3" unitRef="usd" id="ixv-15513">44,129</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" scale="3" unitRef="usd" id="ixv-15514">897</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Cash and cash equivalents at beginning of year</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" unitRef="usd" id="ixv-15515">65,173</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c29" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" unitRef="usd" id="ixv-15516">21,044</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c21" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" unitRef="usd" id="ixv-15517">20,147</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Cash and cash equivalents at end of year</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" unitRef="usd" id="ixv-15518">15,174</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" unitRef="usd" id="ixv-15519">65,173</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c29" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" unitRef="usd" id="ixv-15520">21,044</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>See accompanying notes to consolidated financial statements.</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><!-- Field: Page; Sequence: 54 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->54<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b><span style="text-decoration:underline">Notes to Consolidated Financial Statements</span></b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>(Dollars in thousands, except per share)</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>&#160;</i></p><div>

</div><ix:nonNumeric contextRef="c0" continuedAt="_SignificantAccountingPoliciesTextBlock-c0_cont_1" escape="true" name="us-gaap:SignificantAccountingPoliciesTextBlock" id="ixv-10101"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in"><b>1.</b></td><td style="text-align: justify"><b>Summary of Significant Accounting Policies</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<ix:nonNumeric contextRef="c0" continuedAt="rgr_OrganizationPolicyTextBlock-c0_cont_1" escape="true" name="rgr:OrganizationPolicyTextBlock" id="ixv-10111"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Organization</span></p></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<ix:continuation continuedAt="rgr_OrganizationPolicyTextBlock-c0_cont_2" id="rgr_OrganizationPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Sturm, Ruger &amp; Company, Inc. (the &#8220;Company&#8221;)
is principally engaged in the design, manufacture, and sale of firearms to domestic customers. Approximately <ix:nonFraction contextRef="c46" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-15521">99</ix:nonFraction>% of sales were from firearms.
Export sales represented approximately <ix:nonFraction contextRef="c47" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-15522">6</ix:nonFraction>% of firearms sales. The Company&#8217;s design and manufacturing operations are located in the
United States and almost all product content is domestic. The Company&#8217;s firearms are sold through a select number of independent
wholesale distributors principally to the commercial sporting market.</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation id="rgr_OrganizationPolicyTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company manufactures investment castings made
from steel alloys and metal injection molding (&#8220;MIM&#8221;) parts for internal use in its firearms and utilizes available capacity
to manufacture and sell investment castings and MIM parts to unaffiliated, third-party customers. Castings were less than <ix:nonFraction contextRef="c48" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-15523">1</ix:nonFraction>% of the Company&#8217;s
total sales for the year ended December 31, 2023.</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="c0" continuedAt="rgr_PreparationOfFinancialStatementsPolicyTextBlock-c0_cont_1" escape="true" name="rgr:PreparationOfFinancialStatementsPolicyTextBlock" id="ixv-10121"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Preparation
of Financial Statements</span></span></p></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation continuedAt="rgr_PreparationOfFinancialStatementsPolicyTextBlock-c0_cont_2" id="rgr_PreparationOfFinancialStatementsPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company follows United States generally accepted
accounting principles (&#8220;GAAP&#8221;). The preparation of financial statements in conformity with GAAP requires management to make
estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent liabilities at the date
of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ
from these estimates.</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation id="rgr_PreparationOfFinancialStatementsPolicyTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The significant accounting policies described
below, together with the notes that follow, are an integral part of the consolidated financial statements.</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal">&#160;</span></p>

<ix:nonNumeric contextRef="c0" continuedAt="_ConsolidationPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:ConsolidationPolicyTextBlock" id="ixv-10133"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Principles
of Consolidation</span></span></p></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<ix:continuation id="_ConsolidationPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The consolidated financial statements include
the accounts of the Company and its wholly owned subsidiary. All significant intercompany accounts and transactions have been eliminated.</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal">&#160;</span></p>

<ix:nonNumeric contextRef="c0" continuedAt="_RevenueRecognitionPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:RevenueRecognitionPolicyTextBlock" id="ixv-10142"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Revenue Recognition</span></span></p></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation id="_RevenueRecognitionPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company recognizes revenue in accordance
with the provisions of Accounting Standards Codification Topic 606, Revenue from Contracts with Customers (&#8220;ASC 606&#8221;), which
became effective January 1, 2018. Substantially all product sales are sold FOB (free on board) shipping point. <ix:nonNumeric contextRef="c0" name="us-gaap:SharebasedCompensationEffectOnEarningsPerShare" id="ixv-15524">Customary payment terms
are 2% 30 days</ix:nonNumeric>, net 40 days. Generally, all performance obligations are satisfied when product is shipped and the customer takes ownership
and assumes the risk of loss. In some instances, sales include multiple performance obligations. The most common of these instances relates
to sales promotion programs under which downstream customers are entitled to receive no charge products based on their purchases of certain
of the Company&#8217;s products from the independent distributors. The fulfillment of these no charge products is the Company&#8217;s
responsibility. In such instances, the Company allocates the revenue of the promotional sales based on the estimated level of participation
in the sales promotional program and the timing of the shipment of all of the firearms included in the promotional program, including
the no charge firearms. Revenue is recognized proportionally as each performance obligation is satisfied, based on the relative customary
price of each product. Customary prices are generally determined based on the prices charged to the independent distributors. The net
change in contract liabilities for a given period is reported as an increase or decrease to sales. The Company accounts for cash sales
discounts as a reduction in sales. Amounts billed to customers for shipping and handling fees are included in net sales and costs incurred
by the Company for the delivery of goods are classified as selling expenses. Federal excise taxes are excluded from net sales.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p></ix:continuation></ix:nonNumeric><div>

</div><div>

</div><!-- Field: Page; Sequence: 55 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->55<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><ix:continuation continuedAt="_SignificantAccountingPoliciesTextBlock-c0_cont_2" id="_SignificantAccountingPoliciesTextBlock-c0_cont_1"><ix:nonNumeric contextRef="c0" continuedAt="_CashAndCashEquivalentsPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:CashAndCashEquivalentsPolicyTextBlock" id="ixv-10163"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Cash and
Cash Equivalents</span></span></p></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation id="_CashAndCashEquivalentsPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company considers interest-bearing deposits
with financial institutions with remaining maturities of three months or less at the time of acquisition to be cash equivalents.</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="c0" continuedAt="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:FairValueMeasurementPolicyPolicyTextBlock" id="ixv-10171"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Fair Value
Measurements of Short-term Investments</span></span></p></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation continuedAt="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_2" id="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Fair value is defined as the price that would
be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants in the principal or
most advantageous market at the measurement date. Fair value is established according to a hierarchy that prioritizes observable and unobservable
inputs used to measure fair value into three broad levels, which are described below:</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation continuedAt="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_3" id="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">Level 1: Unadjusted quoted prices in
active markets that are accessible at the measurement date for assets or liabilities. The fair value hierarchy gives the highest priority
to Level 1 inputs.</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">&#160;</p>

<ix:continuation continuedAt="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_4" id="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_3"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">Level 2: Observable prices that are
based on inputs not quoted on active markets, but corroborated by market data.</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">&#160;</p>

<ix:continuation continuedAt="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_5" id="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_4"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">Level 3: Unobservable inputs are used
when little or no market data is available. Level 3 inputs are given the lowest priority in the fair value hierarchy.</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">&#160;</p>

<ix:continuation continuedAt="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_6" id="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_5"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The asset or liability&#8217;s fair value measurement
level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. Valuation
techniques used need to maximize the use of observable inputs and minimize the use of unobservable inputs.</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation continuedAt="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_7" id="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_6"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">As
of December 31, 2023, the Company&#8217;s short-term investments consist of U.S. Treasury instruments (Level 1), maturing within one year,
and </span>investments in a bank-managed money market fund that invests exclusively in United States Treasury obligations and is valued
at the net asset value ("NAV") daily closing price, as reported by the fund, based on the amortized cost of the fund&#8217;s
securities (Level 2)<span style="font-family: Times New Roman, Times, Serif">. For the bank-managed money market fund, t</span>he NAV
is used as a practical expedient to estimate fair value. This practical expedient is not used when it is determined to be probable that
the fund will sell the investment for an amount different than the reported NAV<span style="font-family: Times New Roman, Times, Serif">.
Such securities are classified as held to maturity, since the Company has the intent and ability to do so, and are carried at cost plus
accrued interest, which approximates fair value.</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p></ix:continuation></ix:continuation><div>

</div><div>

</div><!-- Field: Page; Sequence: 56 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->56<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><ix:continuation continuedAt="_SignificantAccountingPoliciesTextBlock-c0_cont_3" id="_SignificantAccountingPoliciesTextBlock-c0_cont_2"><ix:continuation id="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_7"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The fair value of inventory acquired as part of
business combination is based on a third-party valuation utilizing the comparable sales method which is based on Level 2 and Level 3 inputs.
The fair value of property, plant and equipment acquired as part of business combination is based on a third-party valuation utilizing
the indirect method of cost approach, which is based on Level 2 and Level 3 inputs. The fair value of patents acquired as part of business
combination is based on a third-party valuation utilizing the replacement cost method, which is based on Level 2 and Level 3 inputs. The
fair value of the remaining intangible assets as part of business combination are based on a third-party valuation utilizing discounted
cash flow methods that involves inputs, which are not observable in the market (Level 3).</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="c0" continuedAt="_TradeAndOtherAccountsReceivablePolicy-c0_cont_1" escape="true" name="us-gaap:TradeAndOtherAccountsReceivablePolicy" id="ixv-10213"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Accounts Receivable</span></p></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<ix:continuation id="_TradeAndOtherAccountsReceivablePolicy-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company establishes an allowance for doubtful
accounts based on the creditworthiness of its customers and historical experience. While the Company uses the best information available
to make its evaluation, future adjustments to the allowance for doubtful accounts may be necessary if there are significant changes in
economic and industry conditions or any other factors considered in the Company&#8217;s evaluation. Bad debt expense has been immaterial
during each of the last three years. The Company mitigates its credit risk by maintaining credit insurance on most of its significant
customers.</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<ix:nonNumeric contextRef="c0" continuedAt="_InventoryPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:InventoryPolicyTextBlock" id="ixv-10220"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Inventories</span></span></p></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation id="_InventoryPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Substantially all of the Company&#8217;s inventories
are valued at the lower of cost, principally determined by the last-in, first-out (LIFO) method, or net realizable value. Elements of
cost in inventories include raw materials, direct labor and manufacturing overhead.</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="c0" continuedAt="_PropertyPlantAndEquipmentPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" id="ixv-10228"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Property,
Plant and Equipment</span></span></p></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation continuedAt="_PropertyPlantAndEquipmentPolicyTextBlock-c0_cont_2" id="_PropertyPlantAndEquipmentPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Property, plant and equipment are carried at
cost. Depreciation is computed over useful lives using the straight-line and declining balance methods predominately over <ix:nonNumeric contextRef="c49" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="ixv-15525">15</ix:nonNumeric> years for
buildings, <ix:nonNumeric contextRef="c50" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="ixv-15526">7</ix:nonNumeric> years for machinery and equipment and <ix:nonNumeric contextRef="c51" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="ixv-15527">3</ix:nonNumeric> years for tools and dies. When assets are retired, sold or otherwise disposed of,
their gross carrying values and related accumulated depreciation are removed from the accounts and a gain or loss on such disposals is
recognized when appropriate.</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation id="_PropertyPlantAndEquipmentPolicyTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Maintenance and repairs are charged to operations;
replacements and improvements are capitalized.</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="c0" continuedAt="_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" id="ixv-10239"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Long-lived Assets</span></p></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation continuedAt="_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock-c0_cont_2" id="_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company evaluates the carrying value of long-lived
assets to be held and used when events or changes in circumstances indicate the carrying value may not be recoverable. In performing this
review, the carrying value of the assets is compared to the projected undiscounted cash flows to be generated from the assets. If the
sum of the undiscounted expected future cash flows is less than the carrying value of the assets, the assets are considered to be impaired.
Impairment losses are measured as the amount by which the carrying value of the assets exceeds their fair value. The Company bases fair
value of the assets on quoted market prices if available or, if not available, </p></ix:continuation></ix:continuation><div>

</div><!-- Field: Page; Sequence: 57 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->57<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><ix:continuation continuedAt="_SignificantAccountingPoliciesTextBlock-c0_cont_4" id="_SignificantAccountingPoliciesTextBlock-c0_cont_3"><ix:continuation id="_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">quoted market prices of similar assets. Where quoted market
prices are not available, the Company estimates fair value using the estimated future cash flows generated by the assets discounted at
a rate commensurate with the risks associated with the recovery of the assets. As of December 31, 2023, the Company does not believe there
are any indications of impairment related to long-lived assets.</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p>

<ix:nonNumeric contextRef="c0" continuedAt="_GoodwillAndIntangibleAssetsGoodwillPolicy-c0_cont_1" escape="true" name="us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy" id="ixv-10259"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; color: #252525"><span style="text-decoration:underline">Goodwill</span></p></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; color: #252525">&#160;</p>

<ix:continuation id="_GoodwillAndIntangibleAssetsGoodwillPolicy-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="color: #252525">The Company&#8217;s
goodwill represents the excess of the purchase price of business combinations over the fair value of the net assets acquired. We assess
goodwill for impairment on an annual basis during the fourth quarter of each year, and between annual tests whenever events or changes
in circumstances indicate that the carrying amount may not be recoverable. An impairment exists by the amount the fair value of a reporting
unit to which goodwill has been allocated is less than their respective carrying values. The impairment for goodwill is limited to the
total amount of goodwill allocated to the reporting unit. Goodwill impairment testing requires significant judgment and management estimates,
including, but not limited to, the determination of (i)&#160;the number of reporting units, (ii)&#160;the goodwill and other assets and
liabilities to be allocated to the reporting units and (iii)&#160;the fair values of the reporting units. The estimates and assumptions
described above, along with other factors such as discount rates, will significantly affect the outcome of the impairment tests and the
amounts of any resulting impairment losses.</span> As of December 31, 2023, the Company does not believe there are any indications of
impairment related to goodwill.</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; color: #252525">&#160;</p>

<ix:nonNumeric contextRef="c0" continuedAt="_IncomeTaxPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:IncomeTaxPolicyTextBlock" id="ixv-10267"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Income Taxes</span></span></p></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation id="_IncomeTaxPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Income taxes are accounted for using the asset
and liability method. Under this method, deferred income taxes are recognized for the tax consequences of &#8220;temporary differences&#8221;
by applying enacted statutory rates applicable to future years to temporary differences between the financial statement carrying amounts
and the tax basis of the Company&#8217;s assets and liabilities.</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="c0" continuedAt="_LiabilityReserveEstimatePolicy-c0_cont_1" escape="true" name="us-gaap:LiabilityReserveEstimatePolicy" id="ixv-10275"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Product Liability</span></span></p></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation id="_LiabilityReserveEstimatePolicy-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company provides for product liability claims
including estimated legal costs to be incurred defending such claims. The provision for product liability claims is charged to cost of
products sold.</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="c0" continuedAt="_AdvertisingCostsPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:AdvertisingCostsPolicyTextBlock" id="ixv-10283"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Advertising Costs</span></p></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation id="_AdvertisingCostsPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company includes advertising costs in selling
expenses and these costs are expensed as incurred. Advertising costs for 2023, 2022, and 2021, were $<ix:nonFraction contextRef="c0" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AdvertisingExpense" scale="6" unitRef="usd" id="ixv-15528">3.1</ix:nonFraction> million, $<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AdvertisingExpense" scale="6" unitRef="usd" id="ixv-15529">2.4</ix:nonFraction> million, and $<ix:nonFraction contextRef="c16" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AdvertisingExpense" scale="6" unitRef="usd" id="ixv-15530">2.6</ix:nonFraction>
million, respectively.</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="c0" continuedAt="rgr_ShippingCostPolicyPolicyTextBlock-c0_cont_1" escape="true" name="rgr:ShippingCostPolicyPolicyTextBlock" id="ixv-10290"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Shipping
Costs</span></span></p></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation id="rgr_ShippingCostPolicyPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Costs incurred related to the shipment of products
are included in selling expense. Such costs totaled $<ix:nonFraction contextRef="c0" decimals="-5" format="ixt:num-dot-decimal" name="rgr:ShippingCosts" scale="6" unitRef="usd" id="ixv-15531">4.4</ix:nonFraction> million, $<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="rgr:ShippingCosts" scale="6" unitRef="usd" id="ixv-15532">4.7</ix:nonFraction> million, and $<ix:nonFraction contextRef="c16" decimals="-5" format="ixt:num-dot-decimal" name="rgr:ShippingCosts" scale="6" unitRef="usd" id="ixv-15533">4.2</ix:nonFraction> million in 2023, 2022, and 2021, respectively.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p></ix:continuation></ix:continuation><div>

</div><div>

</div><!-- Field: Page; Sequence: 58 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->58<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><ix:continuation id="_SignificantAccountingPoliciesTextBlock-c0_cont_4"><ix:nonNumeric contextRef="c0" continuedAt="_ResearchAndDevelopmentExpensePolicy-c0_cont_1" escape="true" name="us-gaap:ResearchAndDevelopmentExpensePolicy" id="ixv-10311"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Research and Development</span></p></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation id="_ResearchAndDevelopmentExpensePolicy-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2023, 2022, and 2021, the Company spent approximately
$<ix:nonFraction contextRef="c0" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="6" unitRef="usd" id="ixv-15534">9.8</ix:nonFraction> million, $<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="6" unitRef="usd" id="ixv-15535">9.6</ix:nonFraction> million, and $<ix:nonFraction contextRef="c16" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="6" unitRef="usd" id="ixv-15536">11.7</ix:nonFraction> million, respectively, on research and development activities relating to new products and the improvement
of existing products. These costs are included in costs of products sold and are expensed as incurred. These costs are capitalized for
tax purposes under the provisions of the Tax Cuts and Jobs Act of 2017 that relate to IRS Code Section 174, as discussed in Note 13.</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="c0" continuedAt="_EarningsPerSharePolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:EarningsPerSharePolicyTextBlock" id="ixv-10318"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Earnings per Share</span></p></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation id="_EarningsPerSharePolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Basic earnings per share is based upon the weighted-average
number of shares of common stock outstanding during the year. Diluted earnings per share reflect the impact of options, restricted stock
units, and deferred stock outstanding using the treasury stock method.</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="c0" continuedAt="_NewAccountingPronouncementsPolicyPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="ixv-10325"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Recent Accounting Pronouncements</span></p></ix:nonNumeric>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation continuedAt="_NewAccountingPronouncementsPolicyPolicyTextBlock-c0_cont_2" id="_NewAccountingPronouncementsPolicyPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In November of 2023, the FASB issued ASU 2023-07,
&#8220;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures.&#8221; The updated accounting guidance requires
enhanced reportable segment disclosures, primarily related to significant segment expenses which are regularly provided to the chief operating
decision maker. The guidance is effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning
after December 15, 2024. Retrospective application is required and early adoption is permitted. The Company is currently evaluating the
effect the updated guidance will have on its financial statement disclosures.</p></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation id="_NewAccountingPronouncementsPolicyPolicyTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In December of 2023, the FASB issued ASU 2023-09,
&#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures.&#8221; The updated accounting guidance requires expanded income
tax disclosures, including the disaggregation of existing disclosures related to the effective tax rate reconciliation and income taxes
paid. The guidance is effective for fiscal years beginning after December 15, 2024. Prospective application is required, with retrospective
application permitted. The Company is currently evaluating the effect the updated guidance will have on its financial statement disclosures.</p></ix:continuation></ix:continuation><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><ix:nonNumeric contextRef="c0" continuedAt="_RevenueFromContractWithCustomerTextBlock-c0_cont_1" escape="true" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="ixv-10337"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in"><b>2.</b></td><td><b>Revenue Recognition and Contracts with Customers</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><ix:nonNumeric contextRef="c0" continuedAt="rgr_RevenueRecognitionMultipledeliverableArrangementsTableTextBlock-c0_cont_1" escape="true" name="rgr:RevenueRecognitionMultipledeliverableArrangementsTableTextBlock" id="ixv-10347">The impact of ASC 60<span style="font-family: Times New Roman, Times, Serif">6
on revenue recognized during the years ended December 31, 2023, December 31, 2022, and</span> December 31, 2021 is as follows:</ix:nonNumeric></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<ix:continuation id="rgr_RevenueRecognitionMultipledeliverableArrangementsTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="color: Black; font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">&#160;</td><td style="color: Black; font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="color: Black; font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="color: Black; font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2021</td><td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left; text-indent: -0.3in; padding-left: 0.3in">Contract liabilities with customers at January 1,</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiability" scale="3" unitRef="usd" id="ixv-15537">1,031</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-17">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c21" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiability" scale="3" unitRef="usd" id="ixv-15538">84</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.3in; padding-left: 0.3in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Revenue recognized</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredRevenueRevenueRecognized1" scale="3" unitRef="usd" id="ixv-15539">4,084</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-18">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredRevenueRevenueRecognized1" scale="3" unitRef="usd" id="ixv-15540">84</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 0.3in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Revenue deferred</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="rgr:RevenueDeferred" scale="3" unitRef="usd" id="ixv-15541">3,202</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="rgr:RevenueDeferred" scale="3" unitRef="usd" id="ixv-15542">1,031</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-19">&#8212;</div></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.3in; padding-left: 0.3in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -0.3in; padding-left: 0.3in">Contract liabilities with customers at December 31,</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiability" scale="3" unitRef="usd" id="ixv-15543">149</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiability" scale="3" unitRef="usd" id="ixv-15544">1,031</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-20">&#8212;</div></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p></ix:continuation></ix:nonNumeric><div>

</div><div>

</div><!-- Field: Page; Sequence: 59 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->59<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><ix:continuation id="_RevenueFromContractWithCustomerTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During the year ended December 31, 2023, the Company
deferred $<ix:nonFraction contextRef="c0" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DeferredRevenueAdditions" scale="6" unitRef="usd" id="ixv-15545">3.2</ix:nonFraction> million of revenue, offset by the recognition of $<ix:nonFraction contextRef="c52" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DeferredRevenueRevenueRecognized1" scale="6" unitRef="usd" id="ixv-15546">4.1</ix:nonFraction> million of revenue previously deferred as the performance obligations
relating to the shipment of free products were satisfied. This resulted in a net increase in firearms sales for the year ended December
31, 2023 of $<ix:nonFraction contextRef="c0" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInDeferredRevenue" scale="6" unitRef="usd" id="ixv-15547">0.9</ix:nonFraction> million and a deferred contract revenue liability at December 31, 2023 of $<ix:nonFraction contextRef="c3" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="6" unitRef="usd" id="ixv-15548">0.1</ix:nonFraction> million. The Company estimates that revenue
from this deferred contract liability will be recognized in the first quarter of 2024.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During the year ended December 31, 2022, the Company
deferred $<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DeferredRevenueAdditions" scale="6" unitRef="usd" id="ixv-15549">1.0</ix:nonFraction> million of revenue. There was no offset for the recognition from previously deferred revenue as the Company did not satisfy
any performance obligations relating to the shipment of free products during the year. This resulted in a net decrease in firearms sales
for the year ended December 31, 2022 of $<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInDeferredRevenue" scale="6" sign="-" unitRef="usd" id="ixv-15550">1.0</ix:nonFraction> million and a deferred contract revenue liability at December 31, 2022 of $<ix:nonFraction contextRef="c4" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="6" unitRef="usd" id="ixv-15551">1.0</ix:nonFraction> million.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During the year ended December 31, 2021, there
were no promotions giving rise to deferred contract liabilities and, therefore, there was no additional deferred revenue. Previously deferred
revenue of $<ix:nonFraction contextRef="c53" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DeferredRevenueRevenueRecognized1" scale="6" unitRef="usd" id="ixv-15552">0.1</ix:nonFraction> million was recognized in the first quarter of 2021. The Company did not have a deferred contract revenue liability at
December 31, 2021.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Practical Expedients and Exemptions</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company has elected to account for shipping
and handling activities that occur after control of the related product transfers to the customer as fulfillment activities that are recognized
upon shipment of the goods.</p></ix:continuation><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" id="ixv-10492"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in"><b>3.</b></td><td><b>Trade Receivables, Net</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" continuedAt="_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock-c0_cont_1" escape="true" name="us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" id="ixv-15553">Trade receivables consist of the following:</ix:nonNumeric></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation id="_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Trade receivables</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" unitRef="usd" id="ixv-15554">61,428</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" unitRef="usd" id="ixv-15555">67,183</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Allowance for doubtful accounts</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" unitRef="usd" id="ixv-15556">400</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" unitRef="usd" id="ixv-15557">400</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Allowance for discounts</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="rgr:AllowanceForDiscountsAccountsReceivableCurrent" scale="3" unitRef="usd" id="ixv-15558">1,164</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="rgr:AllowanceForDiscountsAccountsReceivableCurrent" scale="3" unitRef="usd" id="ixv-15559">1,334</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" unitRef="usd" id="ixv-15560">59,864</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" unitRef="usd" id="ixv-15561">65,449</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2023, the largest individual trade receivable
balances accounted for <ix:nonFraction contextRef="c54" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-15562">22</ix:nonFraction>%, <ix:nonFraction contextRef="c55" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-15563">20</ix:nonFraction>%, and <ix:nonFraction contextRef="c56" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-15564">17</ix:nonFraction>% of total trade receivables, respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2022, the largest individual trade receivable
balances accounted for <ix:nonFraction contextRef="c57" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-15565">26</ix:nonFraction>%, <ix:nonFraction contextRef="c58" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-15566">23</ix:nonFraction>%, and <ix:nonFraction contextRef="c59" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-15567">18</ix:nonFraction>% of total trade receivables, respectively.</p></ix:nonNumeric><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><!-- Field: Page; Sequence: 60 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->60<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></p><div>

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:InventoryDisclosureTextBlock" id="ixv-10579"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in"><b>4.</b></td><td style="text-align: justify"><b>Inventories</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" continuedAt="_ScheduleOfInventoryCurrentTableTextBlock-c0_cont_1" escape="true" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="ixv-15568">Inventories consist of the following:</ix:nonNumeric></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation id="_ScheduleOfInventoryCurrentTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: normal; text-align: justify">Inventory at FIFO</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 74%; text-align: left; padding-left: 21.8pt">Finished goods</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryFinishedGoods" scale="3" unitRef="usd" id="ixv-15569">30,989</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryFinishedGoods" scale="3" unitRef="usd" id="ixv-15570">23,573</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid; padding-left: 21.8pt">Materials and products in process</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryWorkInProcessAndRawMaterials" scale="3" unitRef="usd" id="ixv-15571">119,203</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryWorkInProcessAndRawMaterials" scale="3" unitRef="usd" id="ixv-15572">105,721</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryGross" scale="3" unitRef="usd" id="ixv-15573">150,192</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryGross" scale="3" unitRef="usd" id="ixv-15574">129,294</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 21.8pt">Less:&#160;&#160;LIFO reserve</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryLIFOReserve" scale="3" unitRef="usd" id="ixv-15575">64,262</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryLIFOReserve" scale="3" unitRef="usd" id="ixv-15576">59,489</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid; padding-left: 21.8pt">Less:&#160;&#160;excess and obsolescence reserve</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryValuationReserves" scale="3" unitRef="usd" id="ixv-15577">6,120</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryValuationReserves" scale="3" unitRef="usd" id="ixv-15578">4,812</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Net inventories</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryNet" scale="3" unitRef="usd" id="ixv-15579">79,810</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryNet" scale="3" unitRef="usd" id="ixv-15580">64,993</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table></ix:continuation></ix:nonNumeric><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" id="ixv-10673"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in"><b>5.</b></td><td><b>Property, Plant and Equipment</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" continuedAt="_PropertyPlantAndEquipmentTextBlock-c0_cont_1" escape="true" name="us-gaap:PropertyPlantAndEquipmentTextBlock" id="ixv-15581">Property, plant and equipment consist of the following:</ix:nonNumeric></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation id="_PropertyPlantAndEquipmentTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Land and improvements</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c60" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-15582">2,826</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c61" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-15583">2,826</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Buildings and improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c62" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-15584">74,650</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c63" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-15585">72,788</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Machinery and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c50" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-15586">322,730</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c64" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-15587">314,032</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Dies and tools</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c51" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-15588">62,191</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c65" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-15589">57,480</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Property, plant and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-15590">462,397</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-15591">447,126</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Less allowances for depreciation</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" unitRef="usd" id="ixv-15592">390,863</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" unitRef="usd" id="ixv-15593">370,273</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Net property, plant and equipment</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" unitRef="usd" id="ixv-15594">71,534</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" unitRef="usd" id="ixv-15595">76,853</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Depreciation expense totaled $<ix:nonFraction contextRef="c0" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="6" unitRef="usd" id="ixv-15596">21.1</ix:nonFraction> million, $<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="6" unitRef="usd" id="ixv-15597">24.4</ix:nonFraction>
million, and $<ix:nonFraction contextRef="c16" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="6" unitRef="usd" id="ixv-15598">25.8</ix:nonFraction> million in 2023, 2022, and 2021, respectively.</p></ix:nonNumeric><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:OtherAssetsDisclosureTextBlock" id="ixv-10778"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in"><b>6.</b></td><td><b>Other Assets</b></td></tr></table>

<p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" continuedAt="_ScheduleOfOtherAssetsTableTextBlock-c0_cont_1" escape="true" name="us-gaap:ScheduleOfOtherAssetsTableTextBlock" id="ixv-15599">Other assets consist of the following:</ix:nonNumeric></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation id="_ScheduleOfOtherAssetsTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Patents, at cost</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedPatentsGross" scale="3" unitRef="usd" id="ixv-15600">10,280</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedPatentsGross" scale="3" unitRef="usd" id="ixv-15601">10,126</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 14.8pt">Accumulated amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" unitRef="usd" id="ixv-15602">7,171</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" unitRef="usd" id="ixv-15603">6,318</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deposits on capital items</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DepositAssets" scale="3" unitRef="usd" id="ixv-15604">23,045</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DepositAssets" scale="3" unitRef="usd" id="ixv-15605">17,106</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Marlin trade name</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedTradeNamesGross" scale="3" unitRef="usd" id="ixv-15606">7,800</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedTradeNamesGross" scale="3" unitRef="usd" id="ixv-15607">7,800</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAssetsMiscellaneous" scale="3" unitRef="usd" id="ixv-15608">9,958</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAssetsMiscellaneous" scale="3" unitRef="usd" id="ixv-15609">11,249</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" unitRef="usd" id="ixv-15610">43,912</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" unitRef="usd" id="ixv-15611">39,963</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The capitalized cost of patents is amortized
using the straight-line method over their useful lives. Expenses related to patent amortization was $<ix:nonFraction contextRef="c0" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" unitRef="usd" id="ixv-15612">0.4</ix:nonFraction> million in 2023, $<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" unitRef="usd" id="ixv-15613">0.4</ix:nonFraction> million
in 2022, and $<ix:nonFraction contextRef="c16" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" unitRef="usd" id="ixv-15614">0.3</ix:nonFraction> million in 2021. The estimated annual patent amortization expense for each of the next five years is $<ix:nonFraction contextRef="c3" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" scale="6" unitRef="usd" id="ixv-15615">0.3</ix:nonFraction> million.
Costs incurred to maintain existing patents are charged to expense in the year incurred. The Marlin trade name will be amortized using
the straight-line method over its useful life. The estimated annual trade name amortization cost for each of the next five years is $<ix:nonFraction contextRef="c66" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" scale="6" unitRef="usd" id="ixv-15616"><ix:nonFraction contextRef="c66" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" scale="6" unitRef="usd" id="ixv-15617"><ix:nonFraction contextRef="c66" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" scale="6" unitRef="usd" id="ixv-15618"><ix:nonFraction contextRef="c66" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" scale="6" unitRef="usd" id="ixv-15619"><ix:nonFraction contextRef="c66" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" scale="6" unitRef="usd" id="ixv-15620">0.4</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction>
million. The intangible asset related to Marlin customer relationships are included in Other above and will be amortized using the straight-line
method over its useful life. The estimated annual customer relationship name amortization expense for each of the next five years is
$<ix:nonFraction contextRef="c67" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" scale="6" unitRef="usd" id="ixv-15621"><ix:nonFraction contextRef="c67" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" scale="6" unitRef="usd" id="ixv-15622"><ix:nonFraction contextRef="c67" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" scale="6" unitRef="usd" id="ixv-15623"><ix:nonFraction contextRef="c67" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" scale="6" unitRef="usd" id="ixv-15624"><ix:nonFraction contextRef="c67" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" scale="6" unitRef="usd" id="ixv-15625">0.1</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> million.</p></ix:nonNumeric><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 61 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->61<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><ix:nonNumeric contextRef="c0" continuedAt="_LesseeOperatingLeasesTextBlock-c0_cont_1" escape="true" name="us-gaap:LesseeOperatingLeasesTextBlock" id="ixv-10882"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in"><b>7.</b></td><td><b>Leased Assets</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company leases certain of its real estate
and equipment. The Company has evaluated all its leases and determined that all are operating leases under the definitions of the guidance
of ASU 2016-02. The Company&#8217;s lease agreements generally do not require material variable lease payments, residual value guarantees
or restrictive covenants.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company uses the effective interest method
to record right-of-use assets equal to the present value of the contractual liability for future lease payments. <ix:nonNumeric contextRef="c0" continuedAt="rgr_ScheduleOfFutureMinimumLeasePaymentsTableTextBlock-c0_cont_1" escape="true" name="rgr:ScheduleOfFutureMinimumLeasePaymentsTableTextBlock" id="ixv-15626">The table below presents
the right-of-use assets and related lease liabilities recognized on the condensed consolidated balance sheet as of December 31, 2023:</ix:nonNumeric></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">&#160;</p>

<ix:continuation id="rgr_ScheduleOfFutureMinimumLeasePaymentsTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Balance Sheet Line <br/>
Item</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">December 31, <br/>
2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">December 31, <br/>
2022</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 49%; text-align: left">Right-of-use assets</td><td style="width: 1%">&#160;</td>
    <td style="width: 20%; text-align: center">Other assets</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction contextRef="c68" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" unitRef="usd" id="ixv-15627">2,781</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction contextRef="c69" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" unitRef="usd" id="ixv-15628">3,681</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="text-align: justify; border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Operating lease liabilities</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; vertical-align: top; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; vertical-align: top; text-align: left">Current portion</td><td>&#160;</td>
    <td style="text-align: center">Trade accounts payable and accrued expenses</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c70" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" unitRef="usd" id="ixv-15629">611</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c71" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" unitRef="usd" id="ixv-15630">642</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 20pt">Noncurrent portion</td><td>&#160;</td>
    <td style="text-align: center; text-indent: 5.3pt">Lease liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c72" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FinanceLeaseLiabilityNoncurrent" scale="3" unitRef="usd" id="ixv-15631">2,170</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c73" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FinanceLeaseLiabilityNoncurrent" scale="3" unitRef="usd" id="ixv-15632">3,039</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 18.55pt">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="text-align: right; border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 2.5pt double">Total operating lease liabilities</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="text-align: right; border-bottom: Black 2.5pt double">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="rgr:TotalOperatingLeaseLiabilities" scale="3" unitRef="usd" id="ixv-15633">2,781</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="rgr:TotalOperatingLeaseLiabilities" scale="3" unitRef="usd" id="ixv-15634">3,681</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td></tr>
  </table></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The depreciable lives of right-of-use assets are
limited by the lease term and are amortized on a straight line basis over the life of the lease.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p></ix:nonNumeric><div>

</div><div>

</div><!-- Field: Page; Sequence: 62 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->62<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></p><div>

</div><ix:continuation id="_LesseeOperatingLeasesTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s leases generally do not provide
an implicit interest rate, and therefore the Company calculates an incremental borrowing rate to determine the present value of its operating
lease liabilities. <ix:nonNumeric contextRef="c0" continuedAt="_LesseeOperatingLeaseLiabilityMaturityTableTextBlock-c0_cont_1" escape="true" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="ixv-15635">The following table reconciles the undiscounted future minimum lease payments to the total operating lease liabilities
recognized on the condensed consolidated balance sheet as of December 31, 2023:</ix:nonNumeric></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<ix:continuation id="_LesseeOperatingLeaseLiabilityMaturityTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 85%; text-align: left; padding-left: 30.75pt">2024</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction contextRef="c74" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" scale="3" unitRef="usd" id="ixv-15636">808</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt">2025</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c74" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" scale="3" unitRef="usd" id="ixv-15637">702</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c74" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" scale="3" unitRef="usd" id="ixv-15638">705</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c74" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" scale="3" unitRef="usd" id="ixv-15639">229</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt">2028</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c74" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" scale="3" unitRef="usd" id="ixv-15640">160</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 30.75pt; vertical-align: bottom">Thereafter</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c74" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" scale="3" unitRef="usd" id="ixv-15641">960</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt">Total undiscounted future minimum lease payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c74" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="3" unitRef="usd" id="ixv-15642">3,564</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left; padding-bottom: 1pt; text-indent: -22.5pt; padding-left: 53.25pt">Less: Difference between undiscounted lease payments &amp; the present value of future lease payments</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c74" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="3" unitRef="usd" id="ixv-15643">783</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-bottom: 2.5pt; padding-left: 30.75pt">Total operating lease liabilities</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c74" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiability" scale="3" unitRef="usd" id="ixv-15644">2,781</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Certain of the Company&#8217;s lease agreements
contain renewal options at the Company&#8217;s discretion. The Company does not recognize right-of-use assets or lease liabilities for
leases of one year or less or for renewal periods unless it is reasonably certain that the Company will exercise the renewal option at
the inception of the lease or when a triggering event occurs. The Company&#8217;s weighted average remaining lease term for operating
leases as of December 31, 2023 is <ix:nonNumeric contextRef="c3" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="ixv-15645">7.9</ix:nonNumeric> years.</p></ix:continuation><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p><div>

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" id="ixv-11109"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in"><b>8.</b></td><td><b>Trade Accounts Payable and Accrued Expenses</b></td></tr></table>

<p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" continuedAt="_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock-c0_cont_1" escape="true" name="us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" id="ixv-15646">Trade accounts payable and accrued expenses consist
of the following:</ix:nonNumeric></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<ix:continuation id="_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; text-align: left">Trade accounts payable</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsPayableTradeCurrent" scale="3" unitRef="usd" id="ixv-15647">11,100</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsPayableTradeCurrent" scale="3" unitRef="usd" id="ixv-15648">13,281</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Federal excise taxes payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccruedIncomeTaxesCurrent" scale="3" unitRef="usd" id="ixv-15649">11,954</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccruedIncomeTaxesCurrent" scale="3" unitRef="usd" id="ixv-15650">13,635</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Accrued other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAccountsPayableAndAccruedLiabilities" scale="3" unitRef="usd" id="ixv-15651">8,654</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAccountsPayableAndAccruedLiabilities" scale="3" unitRef="usd" id="ixv-15652">8,742</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent" scale="3" unitRef="usd" id="ixv-15653">31,708</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent" scale="3" unitRef="usd" id="ixv-15654">35,658</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table></ix:continuation></ix:nonNumeric><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" id="ixv-11182"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in"><b>9.</b></td><td><b>Accrued Dividends</b></td></tr></table>

<p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On November 30, 2022, the Company&#8217;s Board
of Directors declared a $<ix:nonFraction contextRef="c75" decimals="4" format="ixt:num-dot-decimal" name="us-gaap:DividendsPayableAmountPerShare" scale="-2" unitRef="usdPershares" id="ixv-15655">5.00</ix:nonFraction> per share special dividend payable on January 5, 2023 to stockholders of record as of December 15, 2022.
The dividend, which totaled $<ix:nonFraction contextRef="c76" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DividendsPayableCurrentAndNoncurrent" scale="6" unitRef="usd" id="ixv-15656">88.3</ix:nonFraction> million, was paid on January 5, 2023.</p></ix:nonNumeric><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><ix:nonNumeric contextRef="c0" escape="true" name="rgr:LineOfCreditFacilitiesTextBlock" id="ixv-11195"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in"><b>10.</b></td><td><b>Line of Credit</b></td></tr></table>

<p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2021 the Company had a <span style="font-size: 10pt">$<ix:nonFraction contextRef="c77" decimals="-6" format="ixt:num-dot-decimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" unitRef="usd" id="ixv-15657">40</ix:nonFraction>
million</span> unsecured revolving line of credit with a bank. This facility terminated on September 30, 2021. On January 7, 2022, the
Company entered into a new $<ix:nonFraction contextRef="c78" decimals="-6" format="ixt:num-dot-decimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" unitRef="usd" id="ixv-15658">40</ix:nonFraction> million unsecured revolving line of credit agreement with a different bank that expires <ix:nonNumeric contextRef="c79" format="ixt:date-monthname-day-year-en" name="us-gaap:LineOfCreditFacilityExpirationDate1" id="ixv-15659">January 7, 2025</ix:nonNumeric>.
Borrowings under this new facility bear interest at either 1) the Bloomberg short-Term Bank Yield Index &#8211; 1 month plus 150 basis
points, or 2) a fluctuating rate per annum equal to the greater of (i) the Bank&#8217;s prime rate or (ii) the federal funds rate plus
50 basis points. The Company is also charged one-quarter of a percent (<ix:nonFraction contextRef="c80" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" scale="-2" unitRef="pure" id="ixv-15660">0.25</ix:nonFraction>%) per year on the unused portion. At December 31, 2023, the
Company was in compliance with the terms and covenants of the credit facility.</p></ix:nonNumeric><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 63 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->63<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock" id="ixv-11219"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in"><b>11.</b></td><td style="text-align: justify"><b>Employee Benefit Plans</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company sponsors a qualified defined-contribution
401(k) plan that covers substantially all of its employees. Under the terms of the 401(k) plan, the Company matches a certain portion
of employee contributions to their individual 401(k) accounts using the &#8220;safe harbor&#8221; guidelines provided in the Internal
Revenue Code. Expenses related to matching employee contributions to the 401(k) plan were $<ix:nonFraction contextRef="c0" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DefinedContributionPlanAdministrativeExpenses" scale="6" unitRef="usd" id="ixv-15661">4.7</ix:nonFraction> million, $<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DefinedContributionPlanAdministrativeExpenses" scale="6" unitRef="usd" id="ixv-15662">4.1</ix:nonFraction> million, and $<ix:nonFraction contextRef="c16" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DefinedContributionPlanAdministrativeExpenses" scale="6" unitRef="usd" id="ixv-15663">4.0</ix:nonFraction> million
in 2023, 2022, and 2021, respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Additionally, in 2023, 2022, and 2021 the Company
provided discretionary supplemental contributions to the individual 401(k) accounts of substantially all employees. Each employee received
a supplemental contribution to their account based on a uniform percentage of qualifying compensation established annually. The cost of
these supplemental contributions totaled $<ix:nonFraction contextRef="c0" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" scale="6" unitRef="usd" id="ixv-15664">6.9</ix:nonFraction> million, $<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" scale="6" unitRef="usd" id="ixv-15665">7.4</ix:nonFraction> million, and $<ix:nonFraction contextRef="c16" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" scale="6" unitRef="usd" id="ixv-15666">7.4</ix:nonFraction> million in 2023, 2022, and 2021, respectively.</p></ix:nonNumeric><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock" id="ixv-11235"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in"><b>12.</b></td><td style="text-align: justify"><b>Other Operating Income, Net</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" continuedAt="rgr_OtherIncomeAndExpensesTableTextBlock-c0_cont_1" escape="true" name="rgr:OtherIncomeAndExpensesTableTextBlock" id="ixv-15667">Other operating income, net consists of the following:</ix:nonNumeric></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation id="rgr_OtherIncomeAndExpensesTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">Year ended December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2021</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 55%">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Gain on sale of operating assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GainLossOnSaleOfOtherAssets" scale="3" unitRef="usd" id="ixv-15668">5</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GainLossOnSaleOfOtherAssets" scale="3" unitRef="usd" id="ixv-15669">36</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GainLossOnSaleOfOtherAssets" scale="3" unitRef="usd" id="ixv-15670">127</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table></ix:continuation></ix:nonNumeric><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><ix:nonNumeric contextRef="c0" continuedAt="_IncomeTaxDisclosureTextBlock-c0_cont_1" escape="true" name="us-gaap:IncomeTaxDisclosureTextBlock" id="ixv-11292"><table border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">
<tr style="vertical-align: top">
  <td style="text-align: justify; width: 0.5in"><b>13.</b></td>
  <td style="text-align: justify"><b>Income Taxes </b></td></tr>
</table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company files income tax returns in the U.S.
federal jurisdiction and various state jurisdictions. With few exceptions, the Company is no longer subject to U.S. federal and state
income tax examinations by tax authorities for years before 2017.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><ix:nonNumeric contextRef="c0" continuedAt="_FederalIncomeTaxNoteTextBlock-c0_cont_1" escape="true" name="us-gaap:FederalIncomeTaxNoteTextBlock" id="ixv-15671">The federal and state income tax provision consisted of the following:</ix:nonNumeric></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<ix:continuation id="_FederalIncomeTaxNoteTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">Year ended December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="6" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="6" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="6" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2021</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Current</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Deferred</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Current</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Deferred</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Current</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Deferred</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 34%">Federal</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 8%; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-15672">14,763</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 8%; text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" scale="3" sign="-" unitRef="usd" id="ixv-15673">5,285</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 8%; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-15674">21,741</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 8%; text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" scale="3" sign="-" unitRef="usd" id="ixv-15675">4,694</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 8%; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-15676">42,422</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 8%; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-15677">863</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">State</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-15678">1,713</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" scale="3" sign="-" unitRef="usd" id="ixv-15679">582</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-15680">3,779</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" scale="3" sign="-" unitRef="usd" id="ixv-15681">879</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-15682">7,279</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-15683">131</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-15684">16,476</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" sign="-" unitRef="usd" id="ixv-15685">5,867</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-15686">25,520</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" sign="-" unitRef="usd" id="ixv-15687">5,573</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-15688">49,701</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-15689">994</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p></ix:continuation></ix:nonNumeric><div>

</div><div>

</div><!-- Field: Page; Sequence: 64 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->64<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><ix:continuation id="_IncomeTaxDisclosureTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><ix:nonNumeric contextRef="c0" continuedAt="_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock-c0_cont_1" escape="true" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="ixv-15690">The effective income tax rate varied from the statutory federal income
tax rate as follows:</ix:nonNumeric></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation id="_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">Year ended December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2021</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left; text-indent: -13.75pt; padding-left: 13.75pt">Statutory federal income tax rate</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c0" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" unitRef="pure" id="ixv-15691">21.0</ix:nonFraction>%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c15" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" unitRef="pure" id="ixv-15692">21.0</ix:nonFraction>%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c16" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" unitRef="pure" id="ixv-15693">21.0</ix:nonFraction>%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -13.75pt; padding-left: 13.75pt">State income taxes, net of federal tax benefit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" unitRef="pure" id="ixv-15694">2.2</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" unitRef="pure" id="ixv-15695">2.7</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" unitRef="pure" id="ixv-15696">3.4</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Research and development tax credits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" scale="-2" unitRef="pure" id="ixv-15697">2.7</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" scale="-2" unitRef="pure" id="ixv-15698">4.2</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" scale="-2" unitRef="pure" id="ixv-15699">0.4</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-indent: -13.75pt; padding-left: 13.75pt">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c0" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" sign="-" unitRef="pure" id="ixv-15700">2.5</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c15" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" sign="-" unitRef="pure" id="ixv-15701">1.1</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" unitRef="pure" id="ixv-15702">0.5</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -13.75pt; padding-left: 13.75pt">Effective income tax rate</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" scale="-2" unitRef="pure" id="ixv-15703">18.0</ix:nonFraction>%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" scale="-2" unitRef="pure" id="ixv-15704">18.4</ix:nonFraction>%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" scale="-2" unitRef="pure" id="ixv-15705">24.5</ix:nonFraction>%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company estimates that its effective tax rate
in 2024 will approximate <ix:nonFraction contextRef="c0" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" unitRef="pure" id="ixv-15706">21</ix:nonFraction>%.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>&#160;</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" continuedAt="_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock-c0_cont_1" escape="true" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" id="ixv-15707">Significant components of the Company&#8217;s
deferred tax assets and liabilities are as follows:</ix:nonNumeric></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<ix:continuation id="_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Deferred tax assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left; padding-left: 22.5pt">Capitalized research and development costs</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment" scale="3" unitRef="usd" id="ixv-15708">9,144</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment" scale="3" unitRef="usd" id="ixv-15709">4,838</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 22.5pt">Employee compensation and benefits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" scale="3" unitRef="usd" id="ixv-15710">2,452</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" scale="3" unitRef="usd" id="ixv-15711">2,316</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 22.5pt">Allowances for doubtful accounts and discounts</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" scale="3" unitRef="usd" id="ixv-15712">431</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" scale="3" unitRef="usd" id="ixv-15713">637</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 22.5pt">Inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsInventory" scale="3" unitRef="usd" id="ixv-15714">1,635</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsInventory" scale="3" unitRef="usd" id="ixv-15715">1,196</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 22.5pt">Stock-based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" scale="3" unitRef="usd" id="ixv-15716">1,698</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" scale="3" unitRef="usd" id="ixv-15717">1,661</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 22.5pt">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsOther" scale="3" unitRef="usd" id="ixv-15718">1,608</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsOther" scale="3" unitRef="usd" id="ixv-15719">1,705</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Total deferred tax assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsNet" scale="3" unitRef="usd" id="ixv-15720">16,968</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsNet" scale="3" unitRef="usd" id="ixv-15721">12,353</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Deferred tax liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -4.5pt; padding-left: 27pt">Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" scale="3" unitRef="usd" id="ixv-15722">3,578</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" scale="3" unitRef="usd" id="ixv-15723">5,070</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-indent: -4.5pt; padding-left: 27pt">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxLiabilitiesOther" scale="3" unitRef="usd" id="ixv-15724">1,414</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxLiabilitiesOther" scale="3" unitRef="usd" id="ixv-15725">1,174</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Total deferred tax liabilities</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" unitRef="usd" id="ixv-15726">4,992</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" unitRef="usd" id="ixv-15727">6,244</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Net deferred tax assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" unitRef="usd" id="ixv-15728">11,976</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" unitRef="usd" id="ixv-15729">6,109</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Prior to 2022, the Company expensed research and
development costs in the period in which they were incurred for both financial accounting and income tax purposes. In 2022 the Company
adopted the provisions of the Tax Cuts and Jobs Act of 2017 that relate to IRS Code Section 174. Under these provisions, research and
development costs must be capitalized and amortized over <ix:nonNumeric contextRef="c0" format="ixt-sec:durwordsen" name="rgr:CapitalizedAndAmortizedOverForIncomeTaxPurposes" id="ixv-15730">five years</ix:nonNumeric> for income tax purposes. The Company continues to expense these costs
in the period incurred for financial accounting purposes.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company made income tax payments of approximately
$<ix:nonFraction contextRef="c0" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxesPaidNet" scale="6" unitRef="usd" id="ixv-15731">26.0</ix:nonFraction> million, $<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxesPaidNet" scale="6" unitRef="usd" id="ixv-15732">28.7</ix:nonFraction> million, and $<ix:nonFraction contextRef="c16" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxesPaidNet" scale="6" unitRef="usd" id="ixv-15733">49.5</ix:nonFraction> million, during 2023, 2022, and 2021, respectively. The Company expects to realize its deferred
tax assets through tax deductions against future taxable income<i>. </i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company does not believe it has included any
&#8220;uncertain tax positions&#8221; in its federal income tax return or any of the state income tax returns it is currently filing.
The Company has made an evaluation of the potential impact of additional state taxes being assessed by jurisdictions in which the Company
does not currently consider itself liable. The Company does not anticipate that such additional taxes, if any, would result in a material
change to its financial position.</p></ix:continuation><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 65 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->65<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:EarningsPerShareTextBlock" id="ixv-11691"><table border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">
<tr style="vertical-align: top">
  <td style="width: 0.5in"><b>14.</b></td>
  <td><b>Earnings Per Share</b></td></tr>
</table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" continuedAt="_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock-c0_cont_1" escape="true" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="ixv-15734">Set forth below is a reconciliation of the numerator
and denominator for the basic and diluted earnings per share calculations for the periods indicated:</ix:nonNumeric></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<ix:continuation id="_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">Year ended December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2021</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Numerator:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 61%; text-align: left; text-indent: 17.9pt; padding-left: 0.1pt">Net income</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TemporaryEquityNetIncome" scale="3" unitRef="usd" id="ixv-15735">48,215</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TemporaryEquityNetIncome" scale="3" unitRef="usd" id="ixv-15736">88,332</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TemporaryEquityNetIncome" scale="3" unitRef="usd" id="ixv-15737">155,899</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Denominator:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -9pt; padding-left: 27pt">Weighted average number of common shares outstanding &#8211; Basic</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" unitRef="shares" id="ixv-15738">17,676,955</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" unitRef="shares" id="ixv-15739">17,648,850</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" unitRef="shares" id="ixv-15740">17,585,604</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -9pt; padding-left: 27pt">Dilutive effect of options and restricted stock units outstanding under the Company&#8217;s employee compensation plans</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" unitRef="shares" id="ixv-15741">134,263</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" unitRef="shares" id="ixv-15742">144,498</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" unitRef="shares" id="ixv-15743">172,230</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-indent: -27pt; padding-left: 27pt">Weighted average number of common shares outstanding &#8211; Diluted</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" unitRef="shares" id="ixv-15744">17,811,218</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" unitRef="shares" id="ixv-15745">17,793,348</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" unitRef="shares" id="ixv-15746">17,757,834</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table></ix:continuation></ix:nonNumeric><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><ix:nonNumeric contextRef="c0" continuedAt="rgr_StockRepurchasesTextBlock-c0_cont_1" escape="true" name="rgr:StockRepurchasesTextBlock" id="ixv-11814"><table border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">
<tr style="vertical-align: top">
  <td style="width: 0.5in"><b>15.</b></td>
  <td><b>Stock Repurchases</b></td></tr>
</table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" continuedAt="_ScheduleOfTreasuryStockByClassTextBlock-c0_cont_1" escape="true" name="us-gaap:ScheduleOfTreasuryStockByClassTextBlock" id="ixv-15747">In 2023 and 2022 the Company repurchased shares
of its common stock. Details of these purchases are as follows:</ix:nonNumeric></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation id="_ScheduleOfTreasuryStockByClassTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">Period</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Total <br/>
Number of <br/>
Shares<br/>
 Purchased</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Average<br/>
 Price Paid <br/>
per Share</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Total Number<br/>
 of Shares <br/>
Purchased as <br/>
Part of <br/>
Publicly<br/>
 Announced <br/>
Program</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Maximum <br/>
Dollar Value<br/>
 of Shares that<br/>
 May Yet Be<br/>
 Purchased <br/>
Under the<br/>
 Program</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -1.05pt; padding-left: 0pt">Third Quarter 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">July 3 to July 30</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-21">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-22">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-23">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">July 31 to August 27</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-24">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-25">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-26">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; width: 48%; padding-left: 10pt">August 28 to October 1</td><td style="width: 1%; border-bottom: Black 1pt solid">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c85" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockPreferredShares" scale="0" unitRef="shares" id="ixv-15748">2,136</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 1%; border-bottom: Black 1pt solid">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c86" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" unitRef="usdPershares" id="ixv-15749">49.97</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 1%; border-bottom: Black 1pt solid">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c85" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="0" unitRef="shares" id="ixv-15750">2,136</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 1%; border-bottom: Black 1pt solid">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Fourth Quarter 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">October 2 to October 29</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-27">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-28">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-29">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">October 30 to November 26</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c89" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockPreferredShares" scale="0" unitRef="shares" id="ixv-15751">2,304</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c90" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" unitRef="usdPershares" id="ixv-15752">49.77</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c89" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="0" unitRef="shares" id="ixv-15753">2,304</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 10pt">November 27 to December 31</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-30">&#8212;</div></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-31">&#8212;</div></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-32">&#8212;</div></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Fourth Quarter 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">October 1 to October 28</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-33">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-34">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-35">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">October 29 to November 25</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c95" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockPreferredShares" scale="0" unitRef="shares" id="ixv-15754">179,341</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c96" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" unitRef="usdPershares" id="ixv-15755">45.20</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c95" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="0" unitRef="shares" id="ixv-15756">179,341</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 10pt">November 26 to December 31</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c97" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockPreferredShares" scale="0" unitRef="shares" id="ixv-15757">84,721</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c98" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" unitRef="usdPershares" id="ixv-15758">43.67</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c97" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="0" unitRef="shares" id="ixv-15759">84,721</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 0pt">Total</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockPreferredShares" scale="0" unitRef="shares" id="ixv-15760">268,502</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c99" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" unitRef="usdPershares" id="ixv-15761">44.79</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="0" unitRef="shares" id="ixv-15762">268,502</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="rgr:MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram" scale="0" unitRef="usd" id="ixv-15763">74,680,000</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p></ix:continuation></ix:nonNumeric><div>

</div><div>

</div><!-- Field: Page; Sequence: 66 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->66<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><ix:continuation id="rgr_StockRepurchasesTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">All of these purchases were made with cash held
by the Company and no debt was incurred. No shares were repurchased in 2021.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At December 31, 2023, approximately $<ix:nonFraction contextRef="c3" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" scale="6" unitRef="usd" id="ixv-15764">74.7</ix:nonFraction> million
remained authorized for share repurchases.</p></ix:continuation><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><ix:nonNumeric contextRef="c0" continuedAt="_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock-c0_cont_1" escape="true" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="ixv-12127"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in"><b>16.</b></td><td style="text-align: justify"><b>Compensation Plans</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In May 2017, the Company&#8217;s shareholders
approved the 2017 Stock Incentive Plan (the &#8220;2017 SIP&#8221;) under which employees, independent contractors, and non-employee directors
may be granted stock options, restricted stock, deferred stock awards, and stock appreciation rights, any of which may or may not require
the satisfaction of performance objectives. Vesting requirements are determined by the Compensation Committee of the Board of Directors<i>.
</i>The Company has reserved <ix:nonFraction contextRef="c100" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" scale="0" unitRef="shares" id="ixv-15765">750,000</ix:nonFraction> shares for issuance under the 2017 SIP.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In June 2023, the Company&#8217;s shareholders
approved the 2023 Stock Incentive Plan (the &#8220;2023 SIP&#8221;) under which employees, independent contractors, and non-employee directors
may be granted stock options, restricted stock, deferred stock awards, and stock appreciation rights, any of which may or may not require
the satisfaction of performance objectives. Vesting requirements are determined by the Compensation Committee of the Board of Directors.
The Company reserved <ix:nonFraction contextRef="c101" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" scale="0" unitRef="shares" id="ixv-15766">1,000,000</ix:nonFraction> shares for issuance under the 2023 SIP, of which <ix:nonFraction contextRef="c102" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" scale="0" unitRef="shares" id="ixv-15767">869,000</ix:nonFraction> shares remain available for future grants as of
December 31, 2023. Any shares remaining from the 2017 SIP will be available for future grants under the terms of the 2023 SIP. As of December
31, 2023, <ix:nonFraction contextRef="c103" decimals="0" format="ixt:num-dot-decimal" name="rgr:ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded" scale="0" unitRef="shares" id="ixv-15768">121,034</ix:nonFraction> shares remained unawarded from the 2017 SIP. Since the shareholder approval of the 2023 SIP, no additional awards have
been or will be granted under the 2017 SIP. Previously granted and outstanding awards under the 2017 SIP will remain subject to the terms
of the 2017 SIP.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Compensation expense related to deferred stock,
restricted stock, and restricted stock units is recognized based on the grant-date fair value of the Company&#8217;s common stock, using
either the actual share price or an estimated value using the Monte Carlo valuation model. The total stock-based compensation cost included
in the Statements of Income was $<ix:nonFraction contextRef="c0" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" unitRef="usd" id="ixv-15769">6.2</ix:nonFraction> million, $<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" unitRef="usd" id="ixv-15770">5.7</ix:nonFraction> million, and $<ix:nonFraction contextRef="c16" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" unitRef="usd" id="ixv-15771">8.3</ix:nonFraction> million in 2023, 2022, and 2021, respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Deferred Stock</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Deferred stock awards vest based on the passage
of time or the Company&#8217;s attainment of performance objectives. Upon vesting, these awards convert one-for-one to common stock.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2023, <ix:nonFraction contextRef="c104" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued" scale="0" unitRef="shares" id="ixv-15772">7,566</ix:nonFraction> deferred stock awards were issued
to non-employee directors that will vest in June 2024 and <ix:nonFraction contextRef="c105" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued" scale="0" unitRef="shares" id="ixv-15773">9,760</ix:nonFraction> deferred stock awards were issued to non-employee directors that will
vest in June 2026.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2022, <ix:nonFraction contextRef="c106" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued" scale="0" unitRef="shares" id="ixv-15774">5,953</ix:nonFraction> deferred stock awards were issued
to non-employee directors that vested in May 2023, <ix:nonFraction contextRef="c107" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued" scale="0" unitRef="shares" id="ixv-15775">7,688</ix:nonFraction> deferred stock awards were issued to non-employee directors that will vest in
May 2025 and a <ix:nonFraction contextRef="c108" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued" scale="0" unitRef="shares" id="ixv-15776">1,478</ix:nonFraction> deferred stock award was issued to a non-employee director that will vest in June 2027.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p></ix:nonNumeric><div>

</div><div>

</div><!-- Field: Page; Sequence: 67 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->67<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><ix:continuation id="_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2021, <ix:nonFraction contextRef="c109" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued" scale="0" unitRef="shares" id="ixv-15777">5,113</ix:nonFraction> deferred stock awards were issued
to non-employee directors that vested in May 2022 and <ix:nonFraction contextRef="c110" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued" scale="0" unitRef="shares" id="ixv-15778">6,615</ix:nonFraction> deferred stock awards were issued to non-employee directors that will vest
in May 2024.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Compensation expense related to these awards is
amortized ratably over the vesting period. Compensation expense related to these awards was $<ix:nonFraction contextRef="c111" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense" scale="6" unitRef="usd" id="ixv-15779">0.9</ix:nonFraction> million in 2023, $<ix:nonFraction contextRef="c112" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense" scale="6" unitRef="usd" id="ixv-15780">0.8</ix:nonFraction> million in 2022,
and $<ix:nonFraction contextRef="c113" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense" scale="6" unitRef="usd" id="ixv-15781">0.8</ix:nonFraction> million in 2021.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At December 31, 2023, there was $<ix:nonFraction contextRef="c114" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" scale="6" unitRef="usd" id="ixv-15782">1.0</ix:nonFraction> million of
unrecognized compensation cost related to deferred stock that is expected to be recognized over a period of three years.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Restricted Stock Units</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company grants restricted stock units (RSU&#8217;s)
to senior employees. Some of these RSU&#8217;s are retention awards and have only time-based vesting. Other RSU&#8217;s have a vesting
&#8220;double trigger.&#8221; The vesting of these RSU&#8217;s is dependent on the achievement of corporate objectives established by
the Compensation Committee of the Board of Directors, including return on net operating assets, stock performance, and the passage of
time.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2023, <ix:nonFraction contextRef="c115" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" scale="0" unitRef="shares" id="ixv-15783">114,000</ix:nonFraction> restricted stock units were
issued. Compensation costs related to these restricted stock units was $<ix:nonFraction contextRef="c115" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RestrictedStockExpense" scale="6" unitRef="usd" id="ixv-15784">6.1</ix:nonFraction> million, of which $<ix:nonFraction contextRef="c116" decimals="-5" format="ixt:num-dot-decimal" name="rgr:RecognizedCostsOfRestrictedStockUnits" scale="6" unitRef="usd" id="ixv-15785">1.3</ix:nonFraction> million was recognized in 2023. The
costs are being recognized ratably over the remaining periods required before the units vest, which range from <ix:nonNumeric contextRef="c117" format="ixt-sec:durmonth" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="ixv-15786">24</ix:nonNumeric> to <ix:nonNumeric contextRef="c118" format="ixt-sec:durmonth" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="ixv-15787">26</ix:nonNumeric> months.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2022, <ix:nonFraction contextRef="c119" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" scale="0" unitRef="shares" id="ixv-15788">82,000</ix:nonFraction> restricted stock units were
issued. Compensation costs related to these restricted stock units was $<ix:nonFraction contextRef="c119" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RestrictedStockExpense" scale="6" unitRef="usd" id="ixv-15789">6.0</ix:nonFraction> million, of which $<ix:nonFraction contextRef="c120" decimals="-5" format="ixt:num-dot-decimal" name="rgr:RecognizedCostsOfRestrictedStockUnits" scale="6" unitRef="usd" id="ixv-15790">1.7</ix:nonFraction> million was recognized in 2022. The
costs are being recognized ratably over the remaining periods required before the units vest, which range from <ix:nonNumeric contextRef="c121" format="ixt-sec:durmonth" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="ixv-15791">24</ix:nonNumeric> to <ix:nonNumeric contextRef="c122" format="ixt-sec:durmonth" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="ixv-15792">26</ix:nonNumeric> months.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2021, <ix:nonFraction contextRef="c123" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" scale="0" unitRef="shares" id="ixv-15793">82,000</ix:nonFraction> restricted stock units were
issued. Compensation costs related to these restricted stock units was $<ix:nonFraction contextRef="c123" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RestrictedStockExpense" scale="6" unitRef="usd" id="ixv-15794">5.6</ix:nonFraction> million, of which $<ix:nonFraction contextRef="c124" decimals="-5" format="ixt:num-dot-decimal" name="rgr:RecognizedCostsOfRestrictedStockUnits" scale="6" unitRef="usd" id="ixv-15795">1.6</ix:nonFraction> million was recognized in 2021. The
costs are being recognized ratably over the remaining periods required before the units vest, which range from <ix:nonNumeric contextRef="c125" format="ixt-sec:durmonth" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="ixv-15796">24</ix:nonNumeric> to <ix:nonNumeric contextRef="c126" format="ixt-sec:durmonth" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="ixv-15797">26</ix:nonNumeric> months.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At December 31, 2023, there was $<ix:nonFraction contextRef="c115" decimals="-5" format="ixt:num-dot-decimal" name="rgr:UnrecognizedCompensationCost" scale="6" unitRef="usd" id="ixv-15798">7.5</ix:nonFraction> million of
unrecognized compensation cost related to restricted stock units that is expected to be recognized over a period of <ix:nonNumeric contextRef="c115" format="ixt-sec:duryear" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="ixv-15799">3.3</ix:nonNumeric> years.</p></ix:continuation><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><ix:nonNumeric contextRef="c0" continuedAt="_SegmentReportingDisclosureTextBlock-c0_cont_1" escape="true" name="us-gaap:SegmentReportingDisclosureTextBlock" id="ixv-12187"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in"><b>17.</b></td><td style="text-align: justify"><b>Operating Segment Information</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company has <ix:nonFraction contextRef="c0" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfOperatingSegments" scale="0" unitRef="pure" id="ixv-15800">two</ix:nonFraction> reportable operating segments:
firearms and castings. The firearms segment manufactures and sells rifles, pistols, and revolvers principally to a number of federally-licensed,
independent wholesale distributors primarily located in the United States. The castings segment manufactures and sells steel investment
castings and metal injection molding parts.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Corporate segment income relates to interest income,
the sale of non-operating assets, and other non-operating activities. Corporate segment assets consist of cash and other non-operating
assets.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p></ix:nonNumeric><div>

</div><div>

</div><!-- Field: Page; Sequence: 68 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->68<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><ix:continuation continuedAt="_SegmentReportingDisclosureTextBlock-c0_cont_2" id="_SegmentReportingDisclosureTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" continuedAt="_ScheduleOfSegmentReportingInformationBySegmentTextBlock-c0_cont_1" escape="true" name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" id="ixv-15801">The Company evaluates performance and allocates
resources, in part, based on income (loss) before taxes. The accounting policies of the reportable segments are the same as those described
in the summary of significant accounting policies (see Note 1). Intersegment sales are recorded at the Company&#8217;s cost plus a fixed
profit percentage.</ix:nonNumeric></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation id="_ScheduleOfSegmentReportingInformationBySegmentTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">Year ended December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2021</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: normal; text-align: left">Net Sales</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 61%">Firearms</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c139" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15802">540,746</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c140" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15803">593,289</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c141" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15804">728,141</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Castings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt">Unaffiliated</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c142" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15805">3,021</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c143" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15806">2,553</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c144" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15807">2,595</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 20pt">Intersegment</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c145" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15808">33,086</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c146" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15809">21,306</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c147" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15810">24,711</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c148" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15811">36,107</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c149" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15812">23,859</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c150" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15813">27,306</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Eliminations</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c151" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" sign="-" unitRef="usd" id="ixv-15814">33,086</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c152" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" sign="-" unitRef="usd" id="ixv-15815">21,306</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c153" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" sign="-" unitRef="usd" id="ixv-15816">24,711</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15817">543,767</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15818">595,842</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15819">730,736</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Income (Loss) Before Income Taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c139" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" unitRef="usd" id="ixv-15820">53,723</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c140" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" unitRef="usd" id="ixv-15821">108,610</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c141" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" unitRef="usd" id="ixv-15822">207,657</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Castings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c148" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" sign="-" unitRef="usd" id="ixv-15823">798</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c149" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" sign="-" unitRef="usd" id="ixv-15824">3,338</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c150" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" sign="-" unitRef="usd" id="ixv-15825">2,732</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Corporate</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c154" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" unitRef="usd" id="ixv-15826">5,899</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c155" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" unitRef="usd" id="ixv-15827">3,007</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c156" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" unitRef="usd" id="ixv-15828">1,669</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" unitRef="usd" id="ixv-15829">58,824</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" unitRef="usd" id="ixv-15830">108,279</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" unitRef="usd" id="ixv-15831">206,594</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Identifiable Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c157" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-15832">228,699</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c158" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-15833">223,301</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c159" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-15834">188,290</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Castings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c160" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-15835">11,144</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c161" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-15836">11,910</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c162" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-15837">13,889</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Corporate</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c163" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-15838">158,974</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c164" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-15839">249,552</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c165" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-15840">240,164</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-15841">398,817</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-15842">484,763</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c29" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-15843">442,343</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Goodwill</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c157" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" unitRef="usd" id="ixv-15844">3,055</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c158" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" unitRef="usd" id="ixv-15845">3,055</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c159" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" unitRef="usd" id="ixv-15846">3,055</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c160" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" unitRef="usd" id="ixv-15847">209</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c161" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" unitRef="usd" id="ixv-15848">209</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c162" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" unitRef="usd" id="ixv-15849">209</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" unitRef="usd" id="ixv-15850">3,264</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" unitRef="usd" id="ixv-15851">3,264</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c29" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" unitRef="usd" id="ixv-15852">3,264</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c139" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="3" unitRef="usd" id="ixv-15853">19,301</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c140" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="3" unitRef="usd" id="ixv-15854">21,992</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c141" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="3" unitRef="usd" id="ixv-15855">22,842</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c148" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="3" unitRef="usd" id="ixv-15856">1,814</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c149" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="3" unitRef="usd" id="ixv-15857">2,452</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c150" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="3" unitRef="usd" id="ixv-15858">2,959</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="3" unitRef="usd" id="ixv-15859">21,115</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="3" unitRef="usd" id="ixv-15860">24,444</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="3" unitRef="usd" id="ixv-15861">25,801</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Capital Expenditures</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c139" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" unitRef="usd" id="ixv-15862">15,395</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c140" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" unitRef="usd" id="ixv-15863">26,598</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c141" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" unitRef="usd" id="ixv-15864">25,239</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c148" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" unitRef="usd" id="ixv-15865">401</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c149" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" unitRef="usd" id="ixv-15866">1,175</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c150" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" unitRef="usd" id="ixv-15867">3,537</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" unitRef="usd" id="ixv-15868">15,796</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" unitRef="usd" id="ixv-15869">27,773</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" unitRef="usd" id="ixv-15870">28,776</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table></ix:continuation>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2023, the Company&#8217;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#8217;s - <ix:nonFraction contextRef="c127" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-15871">24</ix:nonFraction>%; Davidson&#8217;s - <ix:nonFraction contextRef="c128" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-15872">19</ix:nonFraction>%; and Sports South -<ix:nonFraction contextRef="c129" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-15873">15</ix:nonFraction>%.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2022, the Company&#8217;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#8217;s - <ix:nonFraction contextRef="c130" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-15874">23</ix:nonFraction>%; Davidson&#8217;s - <ix:nonFraction contextRef="c131" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-15875">23</ix:nonFraction>%; and Sports South - <ix:nonFraction contextRef="c132" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-15876">21</ix:nonFraction>%.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2021, the Company&#8217;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#8217;s - <ix:nonFraction contextRef="c133" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-15877">21</ix:nonFraction>%; Sports South - <ix:nonFraction contextRef="c134" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-15878">19</ix:nonFraction>%; and Davidson&#8217;s - <ix:nonFraction contextRef="c135" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-15879">19</ix:nonFraction>%.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p></ix:continuation><div>

</div><div>

</div><!-- Field: Page; Sequence: 69 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->69<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><ix:continuation id="_SegmentReportingDisclosureTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s assets are located entirely
in the United States and domestic sales represented at least <ix:nonFraction contextRef="c136" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-15880"><ix:nonFraction contextRef="c137" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-15881"><ix:nonFraction contextRef="c138" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-15882">94</ix:nonFraction></ix:nonFraction></ix:nonFraction>% of total sales in 2023, 2022, and 2021.</p></ix:continuation><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:QuarterlyFinancialInformationTextBlock" id="ixv-12674"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in"><b>18.</b></td><td style="text-align: justify"><b>Quarterly Results of Operations (Unaudited)</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" continuedAt="_ScheduleOfQuarterlyFinancialInformationTableTextBlock-c0_cont_1" escape="true" name="us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock" id="ixv-15883">The following is a tabulation of the unaudited
quarterly results of operations for the two years ended December 31, 2023:</ix:nonNumeric></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p>

<ix:continuation continuedAt="_ScheduleOfQuarterlyFinancialInformationTableTextBlock-c0_cont_2" id="_ScheduleOfQuarterlyFinancialInformationTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Three Months Ended</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">4/1/23</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">7/1/23</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">9/30/23</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">12/31/23</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; font-weight: normal; text-align: left; text-indent: 0.5pt">Net Sales</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c166" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15884">149,453</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c167" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15885">142,804</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c168" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15886">120,893</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c99" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15887">130,617</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 0.5pt">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c166" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-15888">38,486</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c167" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-15889">38,148</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c168" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-15890">24,728</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c99" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-15891">32,257</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: 0.5pt">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c166" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-15892">14,350</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c167" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-15893">16,185</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c168" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-15894">7,431</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c99" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-15895">10,249</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: 0.5pt">Basic earnings per share</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c166" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-15896">0.81</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c167" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-15897">0.91</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c168" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-15898">0.42</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c99" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-15899">0.58</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-indent: 0.5pt">Diluted earnings per share</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c166" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-15900">0.81</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c167" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-15901">0.91</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c168" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-15902">0.42</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c99" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-15903">0.58</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<ix:continuation id="_ScheduleOfQuarterlyFinancialInformationTableTextBlock-c0_cont_2"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Three Months Ended</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">4/2/22</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">7/2/22</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">10/1/22</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">12/31/22</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; font-weight: normal; text-align: left">Net Sales</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c169" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15904">166,575</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c170" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15905">140,653</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c171" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15906">139,390</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c172" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-15907">149,224</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c169" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-15908">58,108</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c170" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-15909">43,554</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c171" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-15910">38,869</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c172" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-15911">39,554</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c169" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-15912">30,232</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c170" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-15913">20,757</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c171" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-15914">18,389</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c172" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-15915">18,954</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Basic earnings per share</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c169" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-15916">1.72</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c170" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-15917">1.18</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c171" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-15918">1.04</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c172" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-15919">1.07</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">Diluted earnings per share</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c169" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-15920">1.70</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c170" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-15921">1.17</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c171" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-15922">1.03</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c172" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-15923">1.06</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table></ix:continuation></ix:nonNumeric><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock" id="ixv-12912"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in"><b>19.</b></td><td><b>Related Party Transactions </b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">From time to time, the Company contracts with
the National Rifle Association (&#8220;NRA&#8221;) for some of its promotional and advertising activities. The Company paid the NRA $<ix:nonFraction contextRef="c173" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="6" unitRef="usd" id="ixv-15924">0.5</ix:nonFraction>
million, $<ix:nonFraction contextRef="c174" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="6" unitRef="usd" id="ixv-15925">0.7</ix:nonFraction> million and $<ix:nonFraction contextRef="c175" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="6" unitRef="usd" id="ixv-15926">0.5</ix:nonFraction> million in 2023, 2022, and 2021, respectively. One of the Company&#8217;s Directors also serves as a Director
on the Board of the NRA.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company is a member of the National Shooting
Sports Foundation (&#8220;NSSF&#8221;), the firearm industry trade association. <span style="font-family: Times New Roman, Times, Serif">The
Company paid the NSSF $<ix:nonFraction contextRef="c176" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="6" unitRef="usd" id="ixv-15927">0.3</ix:nonFraction> million, $<ix:nonFraction contextRef="c177" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="6" unitRef="usd" id="ixv-15928">0.3</ix:nonFraction> million and $<ix:nonFraction contextRef="c178" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="6" unitRef="usd" id="ixv-15929">0.4</ix:nonFraction> million in 2023, 2022, and 2021, respectively. </span>One of the Company&#8217;s
Directors also serves on the Board of the NSSF.</p></ix:nonNumeric><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><ix:nonNumeric contextRef="c0" continuedAt="_LegalMattersAndContingenciesTextBlock-c0_cont_1" escape="true" name="us-gaap:LegalMattersAndContingenciesTextBlock" id="ixv-12928"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in"><b>20.</b></td><td><b>Contingent Liabilities </b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">As
of December 31, 2023, the Company was a defendant in nine (9) lawsuits and is aware of certain other such claims. The lawsuits</span>
generally <span style="font-family: Times New Roman, Times, Serif">fall into four (4) categories: traditional product liability litigation,
municipal litigation</span>, negligence, and unfair trade practices<span style="font-family: Times New Roman, Times, Serif">. Each is
discussed in turn below.</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p></ix:nonNumeric><div>

</div><div>

</div><!-- Field: Page; Sequence: 70 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->70<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><ix:continuation continuedAt="_LegalMattersAndContingenciesTextBlock-c0_cont_2" id="_LegalMattersAndContingenciesTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Traditional Product Liability Litigation </span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">One lawsuit involves a claim for damages
related to an allegedly defective product due to its design and/or manufacture. The lawsuit stems from a specific incident of
personal injury and is based on traditional product liability theories such as strict liability, negligence, and/or breach of
warranty.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company believes that the allegations in this
case are unfounded, that the incident is unrelated to the design or manufacture of the firearm involved, and that there should be no recovery
against the Company.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Municipal Litigation</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Municipal
litigation generally includes those cases brought by cities or other governmental entities against firearms manufacturers, distributors
and retailers seeking to recover damages allegedly arising out of the criminal misuse of firearms by third parties. </span>There are four
(4) lawsuits of this type, as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Complaint in <i>City of Gary v. Smith &amp;
Wesson Corp., et al</i>. was filed in Indiana State Court in 1999 and <span style="font-family: Times New Roman, Times, Serif">seeks damages,
among other things, for the costs of <span style="color: #161118">medical care</span><span style="color: #2F262F">,</span> <span style="color: #161118">police
and emergency services, public health services</span><span style="color: #2F262F">,</span> <span style="color: #161118">and other services
as well as punitive damages. In addition</span><span style="color: #2F262F">,</span> <span style="color: #161118">nuisance abatement and/or
injunctive relief is sought to change th</span><span style="color: #2F262F">e</span> <span style="color: #161118">design</span><span style="color: #2F262F">,</span>
<span style="color: #161118">manufacture</span><span style="color: #2F262F">,</span> <span style="color: #161118">mark</span><span style="color: #2F262F">e</span><span style="color: #161118">ting
and distribution practices of th</span><span style="color: #2F262F">e</span> <span style="color: #161118">various defendants. The suit
alleges</span><span style="color: #2F262F">,</span> <span style="color: #161118">among other claims</span><span style="color: #2F262F">,</span>
<span style="color: #161118">negligence in the design of products</span><span style="color: #2F262F">,</span> <span style="color: #161118">public
nuisance</span><span style="color: #2F262F">,</span> <span style="color: #161118">negligent distribution and marketing</span><span style="color: #2F262F">,</span>
<span style="color: #161118">negligence per se and deceptive advertising. The case does not allege a specific injury to a specific individual</span>
as a result <span style="color: #161118">of the misuse or use of any of the Company's products. After a long procedural history, during
the quarter ended April 3, 2021, the City initiated discovery and the manufacturer Defendants reciprocated. Discovery is ongoing.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif"><i>Estados
Unidos Mexicanos v. Smith &amp; Wesson Brands, Inc., et al.</i> was filed by the Country of Mexico in August 2021 in the U.S. District
Court for the District of Massachusetts and names seven defendants, mostly U.S.-based firearms manufacturers, including the Company.
The Complaint advances a variety of legal theories including negligence, public nuisance, unjust enrichment, restitution, and others.
Plaintiff essentially alleges that Defendants design, manufacture, distribute, market and sell firearms in a way that they know results
in the illegal trafficking of firearms into Mexico, where they are used by Mexican drug cartels for criminal activities. Plaintiff seeks
injunctive relief and monetary damages. </span>On November 22, 2021, Defendants filed a joint motion to dismiss the Complaint for, among
other things, failure to state a claim on which relief may be granted. On September 30, 2022, the court entered an order granting Defendants&#8217;
motion. On October 26, 2022, Plaintiff filed a Notice of Appeal and the matter was briefed before the First Circuit Court of Appeals.
Oral argument was held on July 24, 2023. On January 22, 2024, the First Circuit Court of Appeals issued an opinion reversing the District
Court&#8217;s dismissal case and remanding the case for further proceedings.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p></ix:continuation><div>

</div><div>

</div><!-- Field: Page; Sequence: 71 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->71<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><ix:continuation continuedAt="_LegalMattersAndContingenciesTextBlock-c0_cont_3" id="_LegalMattersAndContingenciesTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On December 20, 2022, the City of Buffalo, New
York filed a lawsuit captioned <i>The City of Buffalo v. Smith &amp; Wesson Brands, Inc., et al.</i> in the New York State Supreme Court
for Erie County, New York. The suit names a number of firearm manufacturers, distributors, and retailers as defendants, including the
Company, and purports to state causes of action for violations of Sections 898, 349 and 350 of the New York General Business Law, as well
as common law public nuisance. Generally, plaintiff alleges that the criminal misuse of firearms in the City of Buffalo is the result
of the manufacturing, sales, marketing, and distribution practices of the defendants. The defendants timely removed the matter to the
U.S. District Court for the Western District of New York.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On December 21, 2022, the City of Rochester, New
York filed a lawsuit captioned <i>The City of Rochester v. Smith &amp; Wesson Brands, Inc., et al. </i>in the New York State Supreme Court
for Monroe County, New York. The suit names a number of firearm manufacturers, distributors, and retailers as defendants, including the
Company, and purports to state causes of action for violations of Sections 898, 349 and 350 of the New York General Business Law, as well
as common law public nuisance. The allegations essentially mirror those in <i>Buffalo</i>, discussed in the preceding paragraph. Defendants
timely removed the matter to the U.S. District Court for the Western District of New York.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Defendants moved to consolidate the <i>Buffalo</i>
and <i>Rochester</i> cases for pretrial purposes only. Defendants also moved to stay the cases pending a decision by the Second Circuit
Court of Appeals in <i>National Shooting Sports Foundation, Inc. et al. v. James</i>, which challenges the constitutionality of the recently
enacted <span style="font-variant: small-caps">N.Y. Gen. Bus. Law</span> &#167;&#167;&#160;898-a&#8211;e. On June 8, 2023, the court granted
Defendants&#8217; motions and the cases were consolidated for pretrial purposes and stayed.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Negligence</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>Rossiter v. Sturm, Ruger, et al.</i> is a lawsuit
arising out of a slip and fall accident by a contract security officer in December 2019. The Complaint was filed in the Superior Court
for Sullivan County, New Hampshire on December 13, 2022 and names Pine Hill Construction, a snow removal contractor, as a Defendant. The
Company has tendered the defense of this matter to its insurance carrier and is assisting as required.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company was named in two purported class action
lawsuits arising out of a data breach at Freestyle Solutions, Inc., the vendor who was hosting the Company&#8217;s ShopRuger.com website
at the time of the breach. <i>Jones v. Sturm, Ruger &amp; Co.,</i> was filed in the U.S. District Court for Connecticut on October 4,
2022 and <i>Copeland v. Sturm, Ruger &amp; Company, et al.</i> was filed in the U.S. District Court for New Jersey on October 27, 2022.
<i>Copeland</i> also named Freestyle Solutions, Inc. as a defendant. By agreement of the parties, <i>Copeland</i> was dismissed, without
prejudice, and consolidated with <i>Jones</i> in the pending Connecticut case. On January 20, 2023, five plaintiffs filed an Amended Complaint
naming the Company and Freestyle Solutions, Inc. as defendants. The Complaint alleges causes of action for negligence, breach of implied
warranties, and unjust enrichment. The Company moved to dismiss the Amended Complaint, the motion has been briefed fully, and the parties
are awaiting a ruling.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p></ix:continuation><div>

</div><div>

</div><!-- Field: Page; Sequence: 72 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->72<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></p><div>

</div><ix:continuation continuedAt="_LegalMattersAndContingenciesTextBlock-c0_cont_4" id="_LegalMattersAndContingenciesTextBlock-c0_cont_3"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Unfair Trade Practices</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>Estate of Suzanne Fountain v. Sturm, Ruger
&amp; Co., Inc.,</i> was filed in the Connecticut Superior Court in Stamford and arises out of the criminal shootings at the King Soopers
supermarket in Boulder, Colorado on March 22, 2021. On that date, Plaintiff&#8217;s decedent, Suzanne Fountain, was murdered by 21-year-old
<span style="color: #202122; background-color: white">Ahmad Al Aliwi Al-Issa. The Complaint alleged that the Company&#8217;s advertising
and marketing of the Ruger AR-556 pistol violate the Connecticut Unfair Trade Practices Act and were a substantial factor in bringing
about the wrongful death of Suzanne Fountain. </span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; color: #202122">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>Estate of Neven Stanisic et al. v. Sturm, Ruger
&amp; Co., Inc.,</i> was filed in the Connecticut Superior Court in Stamford on behalf of five plaintiffs. Like <i>Estate of Suzanne Fountain</i>,
the claims arise from the criminal shootings at the King Soopers supermarket in Boulder, Colorado on March 22, 2021. Plaintiffs&#8217;
decedents were murdered by <span style="color: #202122; background-color: white">Ahmad Al Aliwi Al-Issa and Plaintiffs alleged that the
Company&#8217;s advertising and marketing of the Ruger AR-556 pistol violate the Connecticut Unfair Trade Practices Act and were a substantial
factor in causing the wrongful death of Plaintiffs&#8217; decedents.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; color: #202122">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; color: #202122"><span style="background-color: white">The
<i>Fountain</i> and <i>Stanisic</i> cases were consolidated for discovery purposes only and transferred by the court to the Complex Litigation
Docket. Plaintiffs then sought leave to file an Amended Complaint, essentially abandoning their negligent marketing allegations and advancing
a new theory predicated upon alleged violations of the Gun Control Act and National Firearms Act. Over the Company&#8217;s objections,
Plaintiffs were permitted to file the Amended Complaint. </span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; color: #202122">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; color: #202122"><span style="background-color: white">The
matter was timely removed to the U.S. District Court for the District of Connecticut based upon the new allegations and federal question
jurisdiction. Plaintiffs moved to remand the case to state court, the matter has been briefed fully, and the parties are awaiting a ruling.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Summary of Claimed Damages and Explanation
of Product Liability Accruals</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="color: #161118">Punitive damages</span><span style="color: #2F262F">,</span>
<span style="color: #161118">as well as compensatory damages, are demanded in certain of the lawsuits and claims. In many instances</span><span style="color: #2F262F">,</span>
<span style="color: #161118">the plaintiff does not seek a specified amount of money</span><span style="color: #2F262F">,</span> <span style="color: #161118">though
aggregate amounts ultimately sought may exceed product liability accruals and applicable insurance coverage. For product liability claims
made after July 10, 2000</span><span style="color: #2F262F">, </span><span style="color: #161118">coverage is provided on an annual basis
for losses exceeding $<ix:nonFraction contextRef="c0" decimals="-6" format="ixt:num-dot-decimal" name="rgr:ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis" scale="6" unitRef="usd" id="ixv-15930">5</ix:nonFraction> million per claim</span><span style="color: #2F262F">,</span> <span style="color: #161118">or an aggregate maximum
loss of $<ix:nonFraction contextRef="c0" decimals="-6" format="ixt:num-dot-decimal" name="rgr:ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities" scale="6" unitRef="usd" id="ixv-15931">10</ix:nonFraction> million annually</span><span style="color: #2F262F">,</span> <span style="color: #161118">except for certain new claims which
might be brought by governments or municipalities after July 10</span><span style="color: #2F262F">,</span> <span style="color: #161118">2000</span><span style="color: #2F262F">,</span>
<span style="color: #161118">which are excluded from coverage.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="color: #161118">The Company management
monitors the status of known claims and the product liability accrual</span><span style="color: #2F262F">,</span> <span style="color: #161118">which
includes amounts for asserted and unasserted claims. While it is not possible to forecast the outcome of litigation or the timing of costs</span><span style="color: #2F262F">,</span>
<span style="color: #161118">in the opinion of management</span><span style="color: #2F262F">,</span> <span style="color: #161118">after
consultation with special and corporate counsel, it is not probable and is unlikely that litigation</span><span style="color: #2F262F">,</span>
<span style="color: #161118">including punitive damage claims</span><span style="color: #2F262F">,</span> <span style="color: #161118">will
have a material adverse effect on the financial position of the Compan</span><span style="color: #2F262F">y,</span> <span style="color: #161118">but
may have a material impact on the Company&#8217;</span><span style="color: #2F262F">s</span> <span style="color: #161118">financial results
for a particular period.</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; color: #161118">&#160;</p></ix:continuation><div>

</div><div>

</div><!-- Field: Page; Sequence: 73 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->73<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; color: #161118"></p><div>

</div><ix:continuation continuedAt="_LegalMattersAndContingenciesTextBlock-c0_cont_5" id="_LegalMattersAndContingenciesTextBlock-c0_cont_4"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Product liability claim payments are made when
appropriate if, as, and when claimants and the Company reach agreement upon an amount to finally resolve all claims. Legal costs are paid
as the lawsuits and claims develop, the timing of which may vary greatly from case to case. A schedule cannot be determined in advance
with any reliability concerning when payments will be made in any given case.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Provision is made for product liability claims
based upon many factors related to the severity of the alleged injury and potential liability exposure, based upon prior claim experience.
Because the Company's experience in defending these lawsuits and claims is that unfavorable outcomes are typically not probable or estimable,
only in rare cases is an accrual established for such costs.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In most cases, an accrual is established only
for estimated legal defense costs. Product liability accruals are periodically reviewed to reflect then-current estimates of possible
liabilities and expenses incurred to date and reasonably anticipated in the future. Threatened product liability claims are reflected
in the Company's product liability accrual on the same basis as actual claims; <i>i.e.</i>, an accrual is made for reasonably anticipated
possible liability and claims handling expenses on an ongoing basis.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Often, a Complaint does not specify the amount
of damages being sought and a range of reasonably possible losses relating to unfavorable outcomes cannot be made. The dollar amount of
damages claimed at December 31, 2023 and December 31, 2022 was <i>de minimis</i>. The amount claimed at December 31, 2021 was $<ix:nonFraction contextRef="c16" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyDamagesSoughtValue" scale="6" unitRef="usd" id="ixv-15932">1.1</ix:nonFraction> million
and is set forth as an indication of possible maximum liability the Company might be required to incur in these cases (regardless of the
likelihood or reasonable probability of any or all of this amount being awarded to claimants) as a result of adverse judgments that are
sustained on appeal.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2023, one (<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-15933"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyClaimsSettledNumber" scale="0" unitRef="pure" id="ixv-15934">1</ix:nonFraction></ix:nonFraction>) traditional product liability
lawsuit was filed against the Company and one (1) was resolved. As of December 31, 2023, the Company was a defendant in seven (<ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="rgr:LossContingencyNumberOfLawsuits" scale="0" sign="-" unitRef="pure" id="ixv-15935">7</ix:nonFraction>) lawsuits
involving its products, including one (<ix:nonFraction contextRef="c179" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-15936">1</ix:nonFraction>) traditional product liability lawsuit, four (<ix:nonFraction contextRef="c180" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-15937">4</ix:nonFraction>) municipal lawsuits and two (<ix:nonFraction contextRef="c181" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-15938">2</ix:nonFraction>) lawsuits based
upon alleged unfair trade practices. The Company was also a defendant in two (<ix:nonFraction contextRef="c182" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-15939">2</ix:nonFraction>) negligence lawsuits.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2022, <span style="-sec-ix-hidden: hidden-fact-39">no</span> traditional product liability
lawsuits were filed against the Company and one (<ix:nonFraction contextRef="c15" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyClaimsSettledNumber" scale="0" unitRef="pure" id="ixv-15940">1</ix:nonFraction>) was resolved. As of December 31, 2022, the Company was a defendant in five (<ix:nonFraction contextRef="c15" decimals="0" format="ixt:num-dot-decimal" name="rgr:LossContingencyNumberOfLawsuits" scale="0" sign="-" unitRef="pure" id="ixv-15941">5</ix:nonFraction>) lawsuits
involving its products, including one (<ix:nonFraction contextRef="c183" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-15942">1</ix:nonFraction>) traditional product liability lawsuit and four (<ix:nonFraction contextRef="c184" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-15943">4</ix:nonFraction>) municipal lawsuits. The Company also was
a defendant in three (<ix:nonFraction contextRef="c185" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-15944">3</ix:nonFraction>) negligence lawsuits though, as discussed above, that number has since been reduced to two (2) lawsuits with the
consolidation of the <i>Jones</i> and <i>Copeland</i> matters.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2021, one (<ix:nonFraction contextRef="c16" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-15945">1</ix:nonFraction>) traditional product liability
lawsuit was filed against the Company.&#160; As of December 31, 2021, the Company was a defendant in four (<ix:nonFraction contextRef="c16" decimals="INF" format="ixt:num-dot-decimal" name="rgr:LossContingencyNumberOfLawsuits" scale="0" sign="-" unitRef="pure" id="ixv-15946">4</ix:nonFraction>) lawsuits involving its products,
including two (<ix:nonFraction contextRef="c186" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-15947"><ix:nonFraction contextRef="c187" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-15948">2</ix:nonFraction></ix:nonFraction>) traditional lawsuits and two (2) municipal lawsuits.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p></ix:continuation><div>

</div><div>

</div><!-- Field: Page; Sequence: 74 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->74<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><ix:continuation continuedAt="_LegalMattersAndContingenciesTextBlock-c0_cont_6" id="_LegalMattersAndContingenciesTextBlock-c0_cont_5"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">The
Company&#8217;s product liability expense was </span>$<ix:nonFraction contextRef="c0" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ProductLiabilityAccrualPeriodExpense" scale="6" unitRef="usd" id="ixv-15949">1.5</ix:nonFraction> million in 2023, <span style="font-family: Times New Roman, Times, Serif">$<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ProductLiabilityAccrualPeriodExpense" scale="6" unitRef="usd" id="ixv-15950">1.3</ix:nonFraction>
million in 2022, and $<ix:nonFraction contextRef="c16" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ProductLiabilityAccrualPeriodExpense" scale="6" unitRef="usd" id="ixv-15951">1.1</ix:nonFraction> million in 2021. This expense includes the cost of outside legal fees, insurance, and other expenses incurred
in the management and defense of product liability matters.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">A roll-forward of the product liability reserve and detail of product
liability expense for the three years ended December 31, 2023 follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" continuedAt="_ScheduleOfProductWarrantyLiabilityTableTextBlock-c0_cont_1" escape="true" name="us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock" id="ixv-15952">Balance Sheet Roll-forward for Product Liability
Reserve</ix:nonNumeric></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b>&#160;</p>

<ix:continuation continuedAt="_ScheduleOfProductWarrantyLiabilityTableTextBlock-c0_cont_2" id="_ScheduleOfProductWarrantyLiabilityTableTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="padding-bottom: 1pt; white-space: nowrap; text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1pt; white-space: nowrap; text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1pt; white-space: nowrap; text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Cash Payments</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="padding-bottom: 1pt; white-space: nowrap; text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"><span style="font-family: Times New Roman, Times, Serif">Balance<br/>
 Beginning<br/>
 of Year (a<b>)</b></span></td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Accrued <br/>
Legal <br/>
Expense<br/>
 (Income)<br/>
 (b)</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Legal Fees<br/>
 (c)</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Settlements<br/>
 (d)</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Balance <br/>
End of <br/>
Year (a)</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 35%; text-align: justify">2021</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c188" decimals="-3" format="ixt:num-dot-decimal" id="ix_0_fact" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" unitRef="usd">1,126</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">(<ix:nonFraction contextRef="c189" decimals="-3" format="ixt:num-dot-decimal" id="ix_6_fact" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" sign="-" unitRef="usd">7</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">(<ix:nonFraction contextRef="c189" decimals="-3" format="ixt:num-dot-decimal" id="ix_9_fact" name="rgr:ValuationAllowancesAndReservesLegalFees" scale="3" sign="-" unitRef="usd">227</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-36">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c190" decimals="-3" format="ixt:num-dot-decimal" id="ix_1_fact" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" unitRef="usd">892</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c190" decimals="-3" format="ixt:num-dot-decimal" id="ix_2_fact" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" unitRef="usd">892</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c191" decimals="-3" format="ixt:num-dot-decimal" id="ix_7_fact" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" sign="-" unitRef="usd">417</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c191" decimals="-3" format="ixt:num-dot-decimal" id="ix_10_fact" name="rgr:ValuationAllowancesAndReservesLegalFees" scale="3" sign="-" unitRef="usd">167</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-37">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c192" decimals="-3" format="ixt:num-dot-decimal" id="ix_3_fact" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" unitRef="usd">308</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c192" decimals="-3" format="ixt:num-dot-decimal" id="ix_4_fact" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" unitRef="usd">308</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c193" decimals="-3" format="ixt:num-dot-decimal" id="ix_8_fact" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" unitRef="usd">500</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c193" decimals="-3" format="ixt:num-dot-decimal" id="ix_11_fact" name="rgr:ValuationAllowancesAndReservesLegalFees" scale="3" sign="-" unitRef="usd">129</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-38">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c194" decimals="-3" format="ixt:num-dot-decimal" id="ix_5_fact" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" unitRef="usd">679</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" continuedAt="_ProductLiabilityContingenciesTextBlock-c0_cont_1" escape="true" name="us-gaap:ProductLiabilityContingenciesTextBlock" id="ixv-15965">Income Statement Detail for Product Liability
Expense</ix:nonNumeric></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<ix:continuation continuedAt="_ProductLiabilityContingenciesTextBlock-c0_cont_2" id="_ProductLiabilityContingenciesTextBlock-c0_cont_1"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Accrued <br/>
Legal <br/>
Expense (b)</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Insurance<br/>
 Premium <br/>
Expense <br/>
(e)</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Total <br/>
Product <br/>
Liability <br/>
Expense</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: justify">2021</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(<ix:nonFraction contextRef="c195" decimals="-3" format="ixt:num-dot-decimal" id="ix_12_fact" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" sign="-" unitRef="usd">7</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c196" decimals="-3" format="ixt:num-dot-decimal" id="ix_15_fact" name="us-gaap:ProductLiabilityAccrualPeriodExpense" scale="3" unitRef="usd">1,119</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c197" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProductLiabilityAccrualComponentAmount" scale="3" unitRef="usd" id="ixv-15968">1,112</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(<ix:nonFraction contextRef="c198" decimals="-3" format="ixt:num-dot-decimal" id="ix_13_fact" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" sign="-" unitRef="usd">417</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c199" decimals="-3" format="ixt:num-dot-decimal" id="ix_16_fact" name="us-gaap:ProductLiabilityAccrualPeriodExpense" scale="3" unitRef="usd">1,524</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c200" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProductLiabilityAccrualComponentAmount" scale="3" unitRef="usd" id="ixv-15971">1,107</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c201" decimals="-3" format="ixt:num-dot-decimal" id="ix_14_fact" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" unitRef="usd">500</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c202" decimals="-3" format="ixt:num-dot-decimal" id="ix_17_fact" name="us-gaap:ProductLiabilityAccrualPeriodExpense" scale="3" unitRef="usd">1,226</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c203" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProductLiabilityAccrualComponentAmount" scale="3" unitRef="usd" id="ixv-15974">1,726</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Notes</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation continuedAt="_ScheduleOfProductWarrantyLiabilityTableTextBlock-c0_cont_3" id="_ScheduleOfProductWarrantyLiabilityTableTextBlock-c0_cont_2"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in">(a)</td><td style="text-align: justify"><ix:footnote id="ix_0_footnote" xml:lang="en-US">The beginning and ending liability balances represent accrued legal fees only. Settlements and administrative
costs are expensed as incurred. Only in rare instances is an accrual established for settlements.</ix:footnote></td></tr></table></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation continuedAt="_ScheduleOfProductWarrantyLiabilityTableTextBlock-c0_cont_4" id="_ScheduleOfProductWarrantyLiabilityTableTextBlock-c0_cont_3"><ix:continuation continuedAt="_ProductLiabilityContingenciesTextBlock-c0_cont_3" id="_ProductLiabilityContingenciesTextBlock-c0_cont_2"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in">(b)</td><td style="text-align: justify"><ix:footnote id="ix_1_footnote" xml:lang="en-US">The expense accrued in the liability is for legal fees only. In 2022 and 2021, the costs incurred related
to cases that were settled or dismissed were less than the amounts accrued for these cases in prior years.</ix:footnote></td></tr></table></ix:continuation></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation continuedAt="_ScheduleOfProductWarrantyLiabilityTableTextBlock-c0_cont_5" id="_ScheduleOfProductWarrantyLiabilityTableTextBlock-c0_cont_4"><table border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">
<tr style="vertical-align: top"> <td style="text-align: justify; width: 0.5in">(c)</td> <td style="text-align: justify"><ix:footnote id="ix_2_footnote" xml:lang="en-US">Legal fees represent payments to outside counsel related to product liability matters.</ix:footnote></td></tr>
</table></ix:continuation>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation continuedAt="_ScheduleOfProductWarrantyLiabilityTableTextBlock-c0_cont_6" id="_ScheduleOfProductWarrantyLiabilityTableTextBlock-c0_cont_5"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in">(d)</td><td style="text-align: justify"><ix:footnote id="ix_3_footnote" xml:lang="en-US">Settlements represent payments made to plaintiffs or allegedly injured parties in exchange for a full
and complete release of liability.</ix:footnote></td></tr></table></ix:continuation>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:continuation id="_ScheduleOfProductWarrantyLiabilityTableTextBlock-c0_cont_6"><ix:continuation id="_ProductLiabilityContingenciesTextBlock-c0_cont_3"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in">(e)</td><td style="text-align: justify"><ix:footnote id="ix_4_footnote" xml:lang="en-US">Insurance expense represents the cost of insurance premiums.</ix:footnote></td></tr></table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p></ix:continuation></ix:continuation></ix:continuation><div>

</div><div>

</div><!-- Field: Page; Sequence: 75 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->75<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><ix:continuation id="_LegalMattersAndContingenciesTextBlock-c0_cont_6"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">There were no insurance recoveries during any
of the above years.</p></ix:continuation><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:FinancialInstrumentsDisclosureTextBlock" id="ixv-13514"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in"><b>21.</b></td><td><b>Financial Instruments</b></td></tr></table>

<p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company does not hold or issue financial instruments
for trading or hedging purposes, nor does it hold interest rate, leveraged, or other types of derivative financial instruments. Fair values
of accounts receivable, accounts payable, accrued expenses and income taxes payable reflected in the December 31, 2023 and 2022 balance
sheets approximate carrying values at those dates.</p></ix:nonNumeric><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:SubsequentEventsTextBlock" id="ixv-13528"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in"><b>22.</b></td><td style="text-align: justify"><b>Subsequent Events</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On February 16, 2024, the Company&#8217;s Board
of Directors authorized a dividend of <ix:nonFraction contextRef="c204" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:DividendsPayableAmountPerShare" scale="-2" unitRef="usdPershares" id="ixv-15980">23</ix:nonFraction>&#162; per share to shareholders of record on March 15, 2024.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s management has evaluated transactions
occurring subsequent to December 31, 2023 and determined that there were no events or transactions during that period that would have
a material impact on the Company&#8217;s results of operations or financial position.</p></ix:nonNumeric><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><!-- Field: Page; Sequence: 76 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->76<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><div><a id="a_015"></a></div><table border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">
<tr style="vertical-align: top">
  <td style="width: 0.75in"><b>ITEM 9&#8212;</b></td>
  <td><b> CHANGES IN AND DISAGREEMENTS WITH ACCOUNTANTS ON ACCOUNTING AND FINANCIAL DISCLOSURE</b></td></tr>
</table><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">None.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><div><a id="a_016"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>ITEM 9A&#8212;CONTROLS AND PROCEDURES </b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; background-color: white"><span style="font-style: normal"><span style="text-decoration:underline">Evaluation
of Disclosure Controls and Procedures</span></span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; background-color: white">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company conducted an evaluation, with the
participation of its Chief Executive Officer and Chief Financial Officer, of the effectiveness of the design and operation of the Company&#8217;s
disclosure controls and procedures, as defined in Rules&#160;13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, as amended,
as of December 31, 2023. Based upon that evaluation, the Chief Executive Officer and Chief Financial Officer have concluded that as of
December 31, 2023, the Company&#8217;s disclosure controls and procedures over financial reporting were effective.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b><span style="text-decoration:underline">Management&#8217;s Report on Internal Control over Financial
Reporting</span></b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s management is responsible
for establishing and maintaining adequate internal control over financial reporting as defined in Rules&#160;13a-15(f) and 15d-15(f) under
the Securities Exchange Act of 1934. Because of its inherent limitations, internal control over financial reporting may not prevent or
detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may
become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company conducted an evaluation, with the
participation of its Chief Executive Officer and Chief Financial Officer, of the effectiveness of its internal control over financial
reporting as of December 31, 2023. This evaluation was performed based on the criteria established in &#8220;Internal Control&#160;&#8212;
Integrated Framework&#8221; issued by the Committee of Sponsoring Organizations of the Treadway Commission (&#8220;COSO&#8221;) in 2013.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Management has concluded that the Company maintained
effective internal control over financial reporting as of December 31, 2023, based on criteria established in &#8220;Internal Control&#160;&#8212;
Integrated Framework&#8221; issued by the COSO in 2013.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The effectiveness of the Company&#8217;s internal
control over financial reporting as of December 31, 2023 has been audited by RSM US LLP, an independent registered public accounting firm,
as stated in their report which is included in this Form 10-K.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b><span style="text-decoration:underline">Changes in Internal Control over Financial
Reporting</span></b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">There were no changes in our internal control
over financial reporting that occurred during our most recently completed fiscal quarter that has materially affected, or is reasonably
likely to materially affect, our internal control over financial reporting.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 77 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->77<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b><span style="text-decoration:underline">New York Stock Exchange Certification </span></b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Pursuant to Section 303A.12(a) of the New York
Stock Exchange Listed Company Manual, the Company submitted an unqualified certification of our Chief Executive Officer to the New York
Stock Exchange in 2023. The Company has also filed, as exhibits to this Annual Report on Form 10-K, the Chief Executive Officer and Chief
Financial Officer Certifications required under the Sarbanes-Oxley Act of 2002.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><div><a id="a_017"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>ITEM 9B&#8212;OTHER INFORMATION</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><ix:nonNumeric contextRef="c99" continuedAt="_MtrlTermsOfTrdArrTextBlock-c99_cont_1" escape="true" name="ecd:MtrlTermsOfTrdArrTextBlock" id="ixv-13644"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Rule 10b5-1 Trading Plans</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p></ix:nonNumeric><div>

</div><div>

</div><ix:continuation continuedAt="_MtrlTermsOfTrdArrTextBlock-c99_cont_2" id="_MtrlTermsOfTrdArrTextBlock-c99_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">The <ix:nonNumeric contextRef="c205" format="ixt:fixed-false" name="ecd:Rule10b51ArrAdoptedFlag" id="ixv-15981">adoption</ix:nonNumeric> or <ix:nonNumeric contextRef="c99" format="ixt:fixed-false" name="ecd:Rule10b51ArrTrmntdFlag" id="ixv-15982">termination</ix:nonNumeric>
of contracts, instructions or written plans for the purchase and sale of the Company&#8217;s securities by the Company&#8217;s Section
16 officers or directors for the three months ended December 31, 2023, each of which is intended to satisfy the affirmative defense conditions
of Rule 10b5-1(c) under the Exchange Act (&#8220;Rule 10b5-1 Plan&#8221;), were as follows:</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p></ix:continuation><div>

</div><div>

</div><ix:continuation continuedAt="_MtrlTermsOfTrdArrTextBlock-c99_cont_3" id="_MtrlTermsOfTrdArrTextBlock-c99_cont_2"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"> <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"> <td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; width: 15%; padding-right: 5.4pt; padding-left: 5.4pt">Name</td> <td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; width: 23%; padding-right: 5.4pt; padding-left: 5.4pt">Title</td> <td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; width: 13%; padding-right: 5.4pt; padding-left: 5.4pt">Action</td> <td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; width: 15%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">Date <br/>
Adopted</td> <td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; width: 17%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">Expiration <br/>
Date</td> <td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; width: 17%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: right">Aggregate # of<br/> Securities to be <br/>
Purchased/Sold</td></tr> <tr style="vertical-align: top; background-color: rgb(204,238,255)"> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"><ix:nonNumeric contextRef="c205" id="ix_18_fact" name="ecd:TrdArrIndName">Christopher J. Killoy</ix:nonNumeric> (1)</td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"><ix:nonNumeric contextRef="c205" id="ix_19_fact" name="ecd:TrdArrIndTitle">President and Chief Executive Officer</ix:nonNumeric> </td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt">Adoption of Rule 10b5-1 Plan</td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><ix:nonNumeric contextRef="c205" id="ix_20_fact" name="ecd:TrdArrAdoptionDate">November 7, 2023</ix:nonNumeric></td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">May 7, 2024</td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: right"><ix:nonFraction contextRef="c206" decimals="0" format="ixt:num-dot-decimal" id="ix_24_fact" name="ecd:TrdArrSecuritiesAggAvailAmt" scale="0" unitRef="shares">30,000</ix:nonFraction></td></tr> <tr style="vertical-align: top; background-color: White"> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"><ix:nonNumeric contextRef="c207" id="ix_21_fact" name="ecd:TrdArrIndName">John A. Cosentino, Jr.</ix:nonNumeric> (2)</td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"><ix:nonNumeric contextRef="c207" id="ix_22_fact" name="ecd:TrdArrIndTitle">Director</ix:nonNumeric></td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt">Adoption of Rule 10b5-1 Plan</td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><ix:nonNumeric contextRef="c207" id="ix_23_fact" name="ecd:TrdArrAdoptionDate">November 7, 2023</ix:nonNumeric></td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">November 7, 2024</td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: right"><ix:nonFraction contextRef="c208" decimals="0" format="ixt:num-dot-decimal" id="ix_25_fact" name="ecd:TrdArrSecuritiesAggAvailAmt" scale="0" unitRef="shares">3,000</ix:nonFraction></td></tr> </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p></ix:continuation><div>
</div><div>

</div><ix:continuation continuedAt="_MtrlTermsOfTrdArrTextBlock-c99_cont_4" id="_MtrlTermsOfTrdArrTextBlock-c99_cont_3"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span style="font-family: Times New Roman, Times, Serif">(1)</span></td><td><ix:footnote id="ix_7_footnote" xml:lang="en-US">Christopher J. Killoy, an officer of the Company, entered into a Rule 10b5-1 Plan on November 7, 2023. Mr. Killoy&#8217;s Rule 10b5-1
Plan provides for the potential sale of up to 30,000 shares of the Company&#8217;s common stock. The Rule 10b5-1 Plan expires on May 7,
2024, or upon the earlier completion of all authorized transactions under such Rule 10b5-1 Plan.</ix:footnote></td></tr></table><p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&#160;</p></ix:continuation><div>

</div><div>

</div><ix:continuation continuedAt="_MtrlTermsOfTrdArrTextBlock-c99_cont_5" id="_MtrlTermsOfTrdArrTextBlock-c99_cont_4"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span style="font-family: Times New Roman, Times, Serif">(2)</span></td><td><ix:footnote id="ix_8_footnote" xml:lang="en-US">John A. Cosentino, Jr., a director of the Company, entered into a Rule 10b5-1 Plan on November 7, 2023. Mr. Cosentino&#8217;s Rule
10b5-1 Plan provides for the potential sale of up to 3,000 shares of the Company&#8217;s common stock. The Rule 10b5-1 Plan expires on
November 7, 2024, or upon the earlier completion of all authorized transactions under such Rule 10b5-1 Plan.</ix:footnote></td></tr></table><p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&#160;</p></ix:continuation><div>

</div><div>

</div><ix:continuation id="_MtrlTermsOfTrdArrTextBlock-c99_cont_5"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.25in">None of the Company&#8217;s directors or Section 16 officers
<ix:nonNumeric contextRef="c99" format="ixt:fixed-false" name="ecd:NonRule10b51ArrAdoptedFlag" id="ixv-15993">adopted</ix:nonNumeric> or <ix:nonNumeric contextRef="c99" format="ixt:fixed-false" name="ecd:NonRule10b51ArrTrmntdFlag" id="ixv-15994">terminated</ix:nonNumeric> a &#8220;non-Rule 10b5-1 trading arrangement&#8221; as defined in Item 408 of Regulation S-K during the three months
ended December 31, 2023.</p></ix:continuation><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.25in">&#160;</p><div>

</div><!-- Field: Page; Sequence: 78 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->78<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.25in"></p><div>

</div><div><a id="a_018"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>ITEM 9C&#8212;DISCLOSURE REGARDING FOREIGN JURISDICTIONS THAT PREVENT
INSPECTIONS</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Not applicable.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><div><a id="a_019"></a></div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">PART III</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><div><a id="a_020"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>ITEM 10&#8212;DIRECTORS, EXECUTIVE OFFICERS AND CORPORATE GOVERNANCE</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Information concerning the Company&#8217;s directors,
including the Company&#8217;s separately designated standing audit committee, and on the Company&#8217;s code of business conduct and
ethics required by this Item is incorporated by reference from the Company&#8217;s Proxy Statement relating to the 2024 Annual Meeting
of Stockholders scheduled to be held May 30, 2024, which will be filed with the SEC in April 2024.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Information concerning the Company&#8217;s executive
officers required by this Item is set forth in Item 1 of this Annual Report on Form 10-K under the caption &#8220;Executive Officers of
the Company.&#8221;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Information concerning beneficial ownership reporting
compliance required by this Item is incorporated by reference from the Company&#8217;s Proxy Statement relating to the 2024 Annual Meeting
of Stockholders scheduled to be held May 30, 2024, which will be filed with the SEC in April 2024.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><div><a id="a_021"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>ITEM 11&#8212;EXECUTIVE COMPENSATION</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Information concerning director and executive
compensation required by this Item is incorporated by reference from the Company&#8217;s Proxy Statement relating to the 2024 Annual Meeting
of Stockholders scheduled to be held May 30, 2024, which will be filed with the SEC in April 2024.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><div><a id="a_022"></a></div><table border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">
<tr style="vertical-align: top">
  <td style="text-align: justify; width: 0.75in"><b>ITEM 12&#8212;</b></td>
  <td style="text-align: justify"><b>SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND MANAGEMENT AND RELATED STOCKHOLDER MATTERS</b></td></tr>
</table><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Information concerning the security ownership
of certain beneficial owners and management and related stockholder matters required by this Item is incorporated by reference from the
Company&#8217;s Proxy Statement relating to the 2024 Annual Meeting of Stockholders scheduled to be held May 30, 2024, which will be filed
with the SEC in April 2024.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 63pt; text-align: justify; text-indent: -63pt"><b>&#160;</b></p><div>

</div><!-- Field: Page; Sequence: 79 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->79<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 63pt; text-align: justify"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>Securities Authorized for Issuance Under Equity Compensation Plans</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The following table provides information regarding
compensation plans under which equity securities of the Company are authorized for issuance as of December 31, 2023:</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td colspan="7" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Equity Compensation Plan Information</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="border-bottom: Black 1pt solid; text-align: center; padding-left: 0.75pt">Plan category</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: center">Number of securities to <br/>
be issued upon exercise of <br/>
outstanding options, <br/>
warrants and rights<br/>
&#160; <br/>
(a)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: center">Weighted-average <br/>
exercise price of <br/>
outstanding options, <br/>
warrants and rights<br/>
&#160; <br/>
(b) *</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: center">Number of securities<br/>
 remaining available for<br/>
 future issuance under <br/>
equity compensation <br/>
plans (excluding <br/>
securities reflected in <br/>
column (a))&#160;<br/>
 &#160;<br/>
(c)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-top: 3pt; border-bottom: Black 1pt solid; font-family: Times New Roman, Times, Serif; text-align: left; padding-left: 0.75pt; font-weight: bold; padding-bottom: 3pt">Equity compensation plans approved by security holders</td><td style="padding-top: 3pt; border-bottom: Black 1pt solid; padding-bottom: 3pt">&#160;</td>
    <td style="padding-top: 3pt; border-bottom: Black 1pt solid; padding-bottom: 3pt">&#160;</td><td style="padding-top: 3pt; border-bottom: Black 1pt solid; padding-bottom: 3pt">&#160;</td>
    <td style="padding-top: 3pt; border-bottom: Black 1pt solid; padding-bottom: 3pt">&#160;</td><td style="padding-top: 3pt; border-bottom: Black 1pt solid; padding-bottom: 3pt">&#160;</td>
    <td style="padding-top: 3pt; border-bottom: Black 1pt solid; padding-bottom: 3pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 0.75pt">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: center">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: center">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: center">-</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; width: 25%; text-align: left; padding-left: 0.75pt">2017 Stock Incentive Plan</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 24%; text-align: center">285,621</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 24%; text-align: center">-</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 24%; text-align: center">0</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left; padding-left: 0.75pt">2023 Stock Incentive Plan</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: center">131,188</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: center">-</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: center">989,846**</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-top: 3pt; border-bottom: Black 1pt solid; font-family: Times New Roman, Times, Serif; text-align: left; padding-left: 0.75pt; font-weight: bold; padding-bottom: 3pt">Equity compensation plans not approved by security holders</td><td style="padding-top: 3pt; border-bottom: Black 1pt solid; padding-bottom: 3pt">&#160;</td>
    <td style="padding-top: 3pt; border-bottom: Black 1pt solid; padding-bottom: 3pt">&#160;</td><td style="padding-top: 3pt; border-bottom: Black 1pt solid; padding-bottom: 3pt">&#160;</td>
    <td style="padding-top: 3pt; border-bottom: Black 1pt solid; padding-bottom: 3pt">&#160;</td><td style="padding-top: 3pt; border-bottom: Black 1pt solid; padding-bottom: 3pt">&#160;</td>
    <td style="padding-top: 3pt; border-bottom: Black 1pt solid; padding-bottom: 3pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 0.75pt">None.</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: center; padding-left: 0.75pt">Total</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: center">416,809</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: center">-</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: center">989,846</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in">*</td><td style="text-align: justify">Restricted stock units are settled in shares of common stock or the cash equivalent. Accordingly, the
weighted-average exercise price is not applicable.</td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 63pt; text-align: justify; text-indent: -63pt"><b>&#160;</b></p><div>

</div><table border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">
<tr style="vertical-align: top">
  <td style="text-align: justify; width: 0.5in">**</td>
  <td style="text-align: justify">Includes 121,034 unused shares previously authorized for issuance under the 2017 SIP that
are now incorporated into and issuable under the 2023 SIP.&#160;</td></tr>
</table><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 63pt; text-align: justify; text-indent: -63pt"><b>&#160;</b></p><div>

</div><div><a id="a_023"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 63pt; text-align: justify; text-indent: -63pt"><b>ITEM 13&#8212;CERTAIN
RELATIONSHIPS AND RELATED TRANSACTIONS AND DIRECTOR INDEPENDENCE</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Information concerning certain relationships and
related transactions required by this Item is incorporated by reference from the Company&#8217;s Proxy Statement relating to the 2024
Annual Meeting of Stockholders scheduled to be held May 30, 2024.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><div><a id="a_024"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>ITEM 14&#8212;PRINCIPAL ACCOUNTANT FEES AND SERVICES</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Information concerning the Company&#8217;s principal
accountant fees and services and the pre-approval policies and procedures of the audit committee of the board of directors required by
this Item is incorporated by reference from the Company&#8217;s Proxy Statement relating to the 2024 Annual Meeting of Stockholders scheduled
to be held May 30, 2024, which will be filed with the SEC in April 2024.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><!-- Field: Page; Sequence: 80 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->80<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><div><a id="a_025"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>PART IV</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><div><a id="a_026"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>ITEM 15&#8212;EXHIBITS AND FINANCIAL STATEMENT
SCHEDULE </b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 27pt">(a)</td><td style="text-align: justify">Exhibits and Financial Statement Schedule</td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 27pt; text-align: justify; text-indent: -27pt">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 27pt"/><td style="width: 27pt">(1)</td><td style="text-align: justify">Financial Statements can be found under Item 8 of Part II of this Form 10-K</td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 27pt; text-align: justify; text-indent: -27pt">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 27pt"/><td style="width: 27pt">(2)</td><td style="text-align: justify">Schedule can be found on Page 87 of this Form 10-K</td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: 9pt">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 27pt"/><td style="width: 27pt">(3)</td><td style="text-align: justify">Listing of Exhibits:</td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 27pt; text-align: justify; text-indent: -27pt">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="padding-left: 0.5in; vertical-align: top; width: 2in; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 3.1</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif">Certificate of Incorporation of the Company, as amended
(Incorporated by reference to Exhibit 4.1 to the Form S-8 Registration Statement previously filed by the Company File No. 333-272443 on
June 6, 2023).</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td style="padding-left: 0.5in; vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td style="padding-left: 0.5in; vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 3.2</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494719001186/ex3-1.htm">Bylaws of the Company, as amended through <span style="font-family: Times New Roman, Times, Serif">November 12, 2019</span></a><span style="font-family: Times New Roman, Times, Serif">.</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td style="padding-left: 0.5in; vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td style="padding-left: 0.5in; vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 4.1</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494720000190/rgr10kex4-1.htm"><span style="font-family: Times New Roman, Times, Serif">Description of the Company&#8217;s Securities</span></a><span style="font-family: Times New Roman, Times, Serif">.</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td style="padding-left: 0.5in; vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td style="padding-left: 0.5in; vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.1</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/95029/000119380508001096/e603666_ex10-2.txt"><span style="font-family: Times New Roman, Times, Serif">Severance Agreement, dated as of April 10, 2008, by and between the Company and Thomas A. Dineen</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 10.2 to the Company's Current Report on Form 8-K filed with the SEC on April 11, 2008). </span></td>
    </tr>
  <tr style="vertical-align: top">
    <td style="padding-left: 0.5in; vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td style="padding-left: 0.5in; vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.2</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/95029/000119380508001232/e603777_8k-ruger.txt"><span style="font-family: Times New Roman, Times, Serif">Severance Agreement, dated as of May 2, 2008 by and between the Company and Kevin B. Reid, Sr.</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K filed with the SEC on May 5, 2008).**</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td style="padding-left: 0.5in; vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td style="padding-left: 0.5in; vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.3</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494716002978/ex10-1.htm"><span style="font-family: Times New Roman, Times, Serif">Transition Services and Consulting Agreement, dated August 1, 2016, by and between the Company and Michael O. Fifer</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K filed with the SEC on August 2, 2016).**</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td style="padding-left: 0.5in; vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td style="padding-left: 0.5in; vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.4</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/95029/000110465920124326/tm2035867d1_ex10-1.htm"><span style="font-family: Times New Roman, Times, Serif">Amended and Restated Agreement, dated November 10, 2020, by and between the Company and Christopher J. Killoy</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K/A filed with the SEC on November 12, 2020).**</span></td>
    </tr>
</table><div>

</div><p style="margin: 0">&#160;</p><div>

</div><!-- Field: Page; Sequence: 81 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->81<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="margin: 0"></p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 0.5in; vertical-align: top; text-align: left; width: 2in">Exhibit 10.5</td>
    <td style="padding-right: 0pt; font: 10pt Times New Roman, Times, Serif; padding-left: 0pt; text-indent: 0pt"><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494716002978/ex10-3.htm">Executive Severance Agreement, dated August
    1, 2016, by and between the Company and Shawn C. Leska</a> (Incorporated by reference to Exhibit 10.3 to the Company's Current Report
    on Form 8-K filed with the SEC on August 2, 2016).**</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 0.5in; vertical-align: top; text-align: left">&#160;</td>
    <td style="padding-right: 0pt; font: 10pt Times New Roman, Times, Serif; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 0.5in; vertical-align: top; text-align: left">Exhibit 10.6</td>
    <td style="padding-right: 0pt; font: 10pt Times New Roman, Times, Serif; padding-left: 0pt; text-indent: 0pt"><a href="https://www.sec.gov/Archives/edgar/data/0000095029/000117494722000034/ex10-1.htm">Loan Agreement, dated January 7, 2022
    between Sturm, Ruger &amp; Company, Inc. and Regions Bank</a>. (Incorporated by reference to Exhibit 10.1 to the Company's Current
    Report on Form 8-K filed with the SEC on January 11, 2022), as amended by that certain <a href="https://www.sec.gov/Archives/edgar/data/95029/000117494722001168/ex99-1.htm">Amendment
    to Credit Agreement, dated November 3, 2022, between Sturm, Ruger &amp; Company, Inc. and Regions Bank</a> (Incorporated by reference
    to Exhibit 99.1 to the Company&#8217;s Current Report on Form 8-K filed with the SEC on November 4, 2022).</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 0.5in; vertical-align: top; text-align: left">&#160;</td>
    <td style="padding-right: 0pt; font: 10pt Times New Roman, Times, Serif; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 0.5in; vertical-align: top; text-align: left">Exhibit 10.7</td>
    <td style="padding-right: 0pt; font: 10pt Times New Roman, Times, Serif; padding-left: 0pt; text-indent: 0pt"><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494717000464/def14a-17408_rgr.htm">The Sturm, Ruger &amp; Company,
    Inc. 2017 Stock Incentive Plan</a> (incorporated by reference to Annex A of the Company&#8217;s Definitive Proxy Statement of Schedule
    14A, filed with the SEC on March 27, 2017)**</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 0.5in; vertical-align: top; text-align: left">&#160;</td>
    <td style="padding-right: 0pt; font: 10pt Times New Roman, Times, Serif; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    </tr>

<tr style="vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 0.5in; vertical-align: top; text-align: left; width: 24%"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.8</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-right: 0pt; padding-left: 0pt; text-indent: 0pt; width: 76%"><a href="https://www.sec.gov/Archives/edgar/data/0000095029/000117494723000592/def14a0323_sturmruger.htm">The Sturm, Ruger &amp; Company, Inc. 2023 Stock Incentive Plan</a> (incorporated by reference to Annex A of the Company&#8217;s Definitive Proxy Statement of Schedule 14A, filed with the SEC on April 20, 2023)**</td>
    </tr>

<tr style="vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 0.5in; vertical-align: top; text-align: left">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-right: 0pt; padding-left: 0pt; text-indent: 0pt">&#160;</td></tr>
<tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 0.5in; vertical-align: top; text-align: left; width: 2in">Exhibit 10.9</td>
    <td style="padding-right: 0pt; font: 10pt Times New Roman, Times, Serif; padding-left: 0pt; text-indent: 0pt"><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494723001480/ex99-1.htm">Separation Agreement, dated as of December
    21, 2023 by and between Sturm, Ruger, &amp; Co., Inc. and Thomas P. Sullivan</a> (Incorporated by reference to Exhibit 99.1 to the
    Company's Current Report on Form 8-K filed with the SEC on December 21, 2023).**</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 0.5in; vertical-align: top; text-align: left">&#160;</td>
    <td style="padding-right: 0pt; font: 10pt Times New Roman, Times, Serif; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 0.5in; vertical-align: top; text-align: left">Exhibit 23.1</td>
    <td style="padding-right: 0pt; font: 10pt Times New Roman, Times, Serif; padding-left: 0pt; text-indent: 0pt"><a href="ex23-1.htm">Consent of RSM US LLP</a></td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 0.5in; vertical-align: top; text-align: left">&#160;</td>
    <td style="padding-right: 0pt; font: 10pt Times New Roman, Times, Serif; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 0.5in; vertical-align: top; text-align: left">Exhibit 31.1</td>
    <td style="padding-right: 0pt; font: 10pt Times New Roman, Times, Serif; padding-left: 0pt; text-indent: 0pt"><a href="ex31-1.htm">Certification of Chief Executive Officer Pursuant to Rule 13a-14(a) of the Exchange Act.</a></td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 0.5in; vertical-align: top; text-align: left">&#160;</td>
    <td style="padding-right: 0pt; font: 10pt Times New Roman, Times, Serif; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 0.5in; vertical-align: top; text-align: left">Exhibit 31.2</td>
    <td style="padding-right: 0pt; font: 10pt Times New Roman, Times, Serif; padding-left: 0pt; text-indent: 0pt"><a href="ex31-2.htm">Certification of Treasurer and Chief Financial Officer Pursuant to Rule 13a-14(a) of the Exchange Act.</a></td>
    </tr>

<tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; padding-left: 0.5in; vertical-align: top; text-align: left">&#160;</td>
    <td style="padding-right: 0pt; font: 10pt Times New Roman, Times, Serif; padding-left: 0pt; text-indent: 0pt">&#160;</td></tr>
<tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-right: 3.95pt; padding-left: 0.5in; text-align: left">Exhibit 32.1</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 0pt; padding-right: 0pt; padding-left: 0pt"><a href="ex32-1.htm">Certification of the Chief Executive Officer Pursuant to Rule 13a-14(b) of the Exchange Act and 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></td>
    </tr>

<tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-right: 3.95pt; padding-left: 0.5in; text-align: left">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 0pt; padding-right: 0pt; padding-left: 0pt">&#160;</td></tr>
<tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-right: 3.95pt; padding-left: 0.5in; text-align: left">Exhibit 32.2</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-indent: 0pt; padding-right: 0pt; padding-left: 0pt"><a href="ex32-2.htm">Certification of the Treasurer and Chief Financial Officer Pursuant to Rule 13a-14(b) of the Exchange Act and 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-right: 3.95pt; padding-left: 0.5in; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; font: 10pt Times New Roman, Times, Serif; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-right: 3.95pt; padding-left: 0.5in; text-align: left">Exhibit 97</td>
    <td style="text-indent: 0pt; font: 10pt Times New Roman, Times, Serif; padding-right: 0pt; padding-left: 0pt">Executive Compensation Clawback Policy</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-right: 3.95pt; padding-left: 0.5in; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; font: 10pt Times New Roman, Times, Serif; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-right: 3.95pt; padding-left: 0.5in; text-align: left">Exhibit 101.INS*</td>
    <td style="text-indent: 0pt; font: 10pt Times New Roman, Times, Serif; padding-right: 0pt; padding-left: 0pt">XBRL Instance Document &#8211; the instance document does not appear in the
    Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-right: 3.95pt; padding-left: 0.5in; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; font: 10pt Times New Roman, Times, Serif; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-right: 3.95pt; padding-left: 0.5in; text-align: left">Exhibit 101.SCH*</td>
    <td style="text-indent: 0pt; font: 10pt Times New Roman, Times, Serif; padding-right: 0pt; padding-left: 0pt">Inline XBRL Taxonomy Extension Schema Document</td>
    </tr>
</table><div>

</div><p style="margin: 0">&#160;</p><div>

</div><!-- Field: Page; Sequence: 82 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->82<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="margin: 0"></p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-right: 3.95pt; padding-left: 0.5in; text-align: left; width: 2in">Exhibit 101.CAL*</td>
    <td style="text-indent: 0pt; font: 10pt Times New Roman, Times, Serif; padding-right: 0pt; padding-left: 0pt">Inline XBRL Taxonomy Extension Calculation Linkbase Document</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-right: 3.95pt; padding-left: 0.5in; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; font: 10pt Times New Roman, Times, Serif; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-right: 3.95pt; padding-left: 0.5in; text-align: left">Exhibit 101.DEF*</td>
    <td style="text-indent: 0pt; font: 10pt Times New Roman, Times, Serif; padding-right: 0pt; padding-left: 0pt">Inline XBRL Taxonomy Extension Definition Linkbase Document</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-right: 3.95pt; padding-left: 0.5in; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; font: 10pt Times New Roman, Times, Serif; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-right: 3.95pt; padding-left: 0.5in; text-align: left">Exhibit 101.LAB*</td>
    <td style="text-indent: 0pt; font: 10pt Times New Roman, Times, Serif; padding-right: 0pt; padding-left: 0pt">Inline XBRL Taxonomy Extension Label Linkbase Document</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-right: 3.95pt; padding-left: 0.5in; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; font: 10pt Times New Roman, Times, Serif; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-right: 3.95pt; padding-left: 0.5in; text-align: left">Exhibit 101.PRE*</td>
    <td style="text-indent: 0pt; font: 10pt Times New Roman, Times, Serif; padding-right: 0pt; padding-left: 0pt">Inline XBRL Taxonomy Extension Presentation Linkbase Document</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-right: 3.95pt; padding-left: 0.5in; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; font: 10pt Times New Roman, Times, Serif; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-right: 3.95pt; padding-left: 0.5in; text-align: left">Exhibit 104*</td>
    <td style="text-indent: 0pt; font: 10pt Times New Roman, Times, Serif; padding-right: 0pt; padding-left: 0pt">Cover Page Interactive Data File &#8211; the cover page interactive data
    file does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-right: 3.95pt; padding-left: 0.5in; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; font: 10pt Times New Roman, Times, Serif; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    </tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; padding-right: 3.95pt; padding-left: 0.5in; text-align: left">*Filed herewith<br/>
**Indicates management contract or compensatory plan or arrangement</td>
    </tr>
  </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"></p><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></p><div>


</div><!-- Field: Page; Sequence: 83 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->83<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></p><div>

</div><div><a id="a_027"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b><span style="text-decoration:underline">SIGNATURES</span></b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Pursuant to the requirements of Section 13 or
15(d) of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned,
thereunto duly authorized.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="width: 50%; text-align: justify">&#160;</td>
    <td style="width: 50%; border-bottom: Black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif">STURM, RUGER &amp; COMPANY, INC.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif">(Registrant)</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">S/THOMAS A. DINEEN</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Thomas A. Dineen</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Principal Financial Officer</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Principal Accounting Officer, Senior Vice President,</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Treasurer, and Chief Financial Officer</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">February 21, 2024</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Date</span></td></tr>
  </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Pursuant to the requirements of the Securities
Exchange Act of 1934, this report has been signed below by the following persons on behalf of the registrant and in the capacities and
on the dates indicated.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt; width: 43%"><span style="font-family: Times New Roman, Times, Serif">S/CHRISTOPHER J. KILLOY</span></td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; width: 4%; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">2/21/24</span></td>
    <td style="white-space: nowrap; width: 6%">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt; width: 43%"><span style="font-family: Times New Roman, Times, Serif">S/RONALD C. WHITAKER</span></td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; width: 4%; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">2/21/24</span></td></tr>
  <tr style="vertical-align: top">
    <td colspan="2" style="white-space: nowrap; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Christopher J. Killoy<br/> Chief Executive Officer, Director<br/> (Principal Executive Officer)</span></td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Ronald C. Whitaker<br/>
Director</span></td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">S/JOHN A. COSENTINO, JR.</span></td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">2/21/24</span></td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">S/PHILLIP C. WIDMAN</span></td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">2/21/24</span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">John A. Cosentino, Jr.<br/>
Director</span></td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Phillip C. Widman<br/>
Director</span></td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">S/AMIR P. ROSENTHAL</span></td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">2/21/24</span></td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">S/SANDRA S. FROMAN</span></td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">2/21/24</span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Amir P. Rosenthal<br/>
Director</span></td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Sandra S. Froman<br/>
Director</span></td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">S/TERRENCE G. O&#8217;CONNOR</span></td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">2/21/24</span></td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">S/REBECCA S. HALSTEAD</span></td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">2/21/24</span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Terrence G. O&#8217;Connor<br/>
Director</span></td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Rebecca S. Halstead<br/>
Director</span></td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">S/MICHAEL O. FIFER</span></td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">2/21/24</span></td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">S/THOMAS A. DINEEN</span></td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">2/21/24</span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Michael O. Fifer<br/>
Director</span></td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Thomas A. Dineen<br/>
Principal Financial Officer<br/>
Principal Accounting Officer, Senior Vice<br/>
President, Treasurer, and Chief Financial Officer</span></td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td></tr>
  </table><div>

</div><!-- Field: Page; Sequence: 84 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->84<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


</div><div><a id="a_028"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 27pt; text-align: center; text-indent: -27pt">EXHIBIT INDEX</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 6.25in">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; width: 22%; text-align: left; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    <td style="padding-right: 0pt; width: 69%; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    <td style="padding-left: 0pt; width: 9%; padding-right: 0pt; text-align: center; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif"><span style="text-decoration:underline">Page No.</span></span></td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left; padding-left: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Exhibit 3.1</span></td>
    <td style="padding-right: 0pt; padding-left: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Certificate of Incorporation of the Company, as amended (Incorporated by reference to Exhibit 4.1 to the Form
S-8 Registration Statement previously filed by the Company File No. 333-272443 on June 6, 2023).</span></td>
    <td style="padding-left: 0pt; padding-right: 0pt; text-align: center; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    <td style="padding-right: 0pt; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    <td style="padding-left: 0pt; padding-right: 0pt; text-align: center; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left; padding-left: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Exhibit 3.2</span></td>
    <td style="padding-right: 0pt; padding-left: 0pt; text-indent: 0pt"><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494719001186/ex3-1.htm"><span style="font-family: Times New Roman, Times, Serif">Bylaws of the Company, as amended through November 12, 2019</span></a><span style="font-family: Times New Roman, Times, Serif">.</span></td>
    <td style="padding-left: 0pt; padding-right: 0pt; text-align: center; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    <td style="padding-right: 0pt; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    <td style="padding-left: 0pt; padding-right: 0pt; text-align: center; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left; padding-left: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Exhibit 4.1</span></td>
    <td style="padding-right: 0pt; padding-left: 0pt; text-indent: 0pt"><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494720000190/rgr10kex4-1.htm"><span style="font-family: Times New Roman, Times, Serif">Description of the Company&#8217;s Securities</span></a><span style="font-family: Times New Roman, Times, Serif">.</span></td>
    <td style="padding-left: 0pt; padding-right: 0pt; text-align: center; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    <td style="padding-right: 0pt; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    <td style="padding-left: 0pt; padding-right: 0pt; text-align: center; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left; padding-left: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.1</span></td>
    <td style="padding-right: 0pt; padding-left: 0pt; text-indent: 0pt"><a href="https://www.sec.gov/Archives/edgar/data/95029/000119380508001096/e603666_ex10-2.txt"><span style="font-family: Times New Roman, Times, Serif">Severance Agreement, dated as of April 10, 2008, by and between the Company and Thomas A. Dineen</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 10.2 to the Company's Current Report on Form 8-K filed with the SEC on April 11, 2008).** </span></td>
    <td style="padding-left: 0pt; padding-right: 0pt; text-align: center; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    <td style="padding-right: 0pt; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    <td style="padding-left: 0pt; padding-right: 0pt; text-align: center; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left; padding-left: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.2</span></td>
    <td style="padding-right: 0pt; padding-left: 0pt; text-indent: 0pt"><a href="https://www.sec.gov/Archives/edgar/data/95029/000119380508001232/e603777_8k-ruger.txt"><span style="font-family: Times New Roman, Times, Serif">Severance Agreement, dated as of May 2, 2008 by and between the Company and Kevin B. Reid, Sr.</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K filed with the SEC on May 2, 2008).**</span></td>
    <td style="padding-left: 0pt; padding-right: 0pt; text-align: center; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    <td style="padding-right: 0pt; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    <td style="padding-left: 0pt; padding-right: 0pt; text-align: center; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left; padding-left: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.3</span></td>
    <td style="padding-right: 0pt; padding-left: 0pt; text-indent: 0pt"><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494716002978/ex10-1.htm"><span style="font-family: Times New Roman, Times, Serif">Transition Services and Consulting Agreement, dated August 1, 2016, by and between the Company and Michael O. Fifer</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K filed with the SEC on August 2, 2016).**</span></td>
    <td style="padding-left: 0pt; padding-right: 0pt; text-align: center; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    <td style="padding-right: 0pt; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    <td style="padding-left: 0pt; padding-right: 0pt; text-align: center; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left; padding-left: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.4</span></td>
    <td style="padding-right: 0pt; padding-left: 0pt; text-indent: 0pt"><a href="https://www.sec.gov/Archives/edgar/data/95029/000110465920124326/tm2035867d1_ex10-1.htm"><span style="font-family: Times New Roman, Times, Serif">Amended and Restated Agreement, dated November 10, 2020, by and between the Company and Christopher J. Killoy</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K/A filed with the SEC on November 12, 2020).**</span></td>
    <td style="padding-left: 0pt; padding-right: 0pt; text-align: center; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    <td style="padding-right: 0pt; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    <td style="padding-left: 0pt; padding-right: 0pt; text-align: center; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left; padding-left: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.5</span></td>
    <td style="padding-right: 0pt; padding-left: 0pt; text-indent: 0pt"><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494716002978/ex10-3.htm"><span style="font-family: Times New Roman, Times, Serif">Executive Severance Agreement, dated August 1, 2016, by and between the Company and Shawn C. Leska</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 10.3 to the Company's Current Report on Form 8-K filed with the SEC on August 2, 2016).**</span></td>
    <td style="padding-left: 0pt; padding-right: 0pt; text-align: center; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    <td style="padding-right: 0pt; padding-left: 0pt; text-indent: 0pt">&#160;</td>
    <td style="padding-left: 0pt; padding-right: 0pt; text-align: center; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left; padding-left: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.6</span></td>
    <td style="padding-right: 0pt; padding-left: 0pt; text-indent: 0pt"><a href="https://www.sec.gov/Archives/edgar/data/0000095029/000117494722000034/ex10-1.htm">Loan Agreement, dated January 7, 2022 between Sturm, Ruger &amp; Company, Inc. and Regions Bank</a>. <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K filed with the SEC on January 11, 2022) , as amended by that certain </span><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494722001168/ex99-1.htm"><span style="font-family: Times New Roman, Times, Serif">Amendment to Credit Agreement, dated November 3, 2022, between Sturm, Ruger &amp; Company, Inc. and Regions Bank</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 99.1 to the Company&#8217;s Current Report on Form 8-K filed with the SEC on November 4, 2022).</span></td>
    <td style="padding-left: 0pt; padding-right: 0pt; text-align: center; text-indent: 0pt">&#160;</td></tr>
  </table><div>

  </div><!-- Field: Page; Sequence: 85 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->85<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">EXHIBIT INDEX (continued)</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; width: 22%; padding-right: 0pt; padding-left: 0pt; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; width: 69%; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    <td style="text-indent: 0pt; width: 9%; padding-right: 0pt; padding-left: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left">Exhibit 10.7</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt"><a href="http://www.sec.gov/Archives/edgar/data/95029/000117494717000464/def14a-17408_rgr.htm" style="-sec-extract: exhibit">The Sturm, Ruger &amp; Company, Inc. 2017 Stock Incentive Plan</a> <span style="font-size: 10pt">(incorporated
by reference to Annex A of the Company&#8217;s Definitive Proxy Statement of Schedule 14A, filed with the SEC on March 27, 2017)</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.8</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt"><span style="font-family: Times New Roman, Times, Serif"><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494723000592/def14a0323_sturmruger.htm" style="-sec-extract: exhibit">The Sturm, Ruger &amp; Company, Inc. 2023 Stock Incentive Plan</a> (incorporated by reference to Annex A of the Company&#8217;s
Definitive Proxy Statement of Schedule 14A, filed with the SEC on April 20, 2023).**</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.9</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt"><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494723001480/ex99-1.htm">Separation Agreement, dated as of December 21, 2023 by and between Sturm, Ruger, &amp; Co., Inc. and Thomas P. Sullivan</a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 99.1 to the Company's Current Report on Form 8-K filed with the SEC on December 21, 2023).**</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 23.1</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt"><span style="font-family: Times New Roman, Times, Serif"><a href="ex23-1.htm">Consent of RSM US LLP</a></span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif">89</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 31.1</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt"><span style="font-family: Times New Roman, Times, Serif"><a href="ex31-1.htm">Certification of Chief Executive Officer Pursuant to Rule 13a-14(a) of the Exchange Act.</a></span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif">90</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 31.2</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt"><span style="font-family: Times New Roman, Times, Serif"><a href="ex31-2.htm">Certification of Treasurer and Chief Financial Officer Pursuant to Rule 13a-14(a) of the Exchange Act.</a></span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif">92</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 32.1</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt"><span style="font-family: Times New Roman, Times, Serif"><a href="ex32-1.htm">Certification of the Chief Executive Officer Pursuant to Rule 13a-14(b) of the Exchange Act and 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif">94</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 32.2</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt"><span style="font-family: Times New Roman, Times, Serif"><a href="ex32-2.htm">Certification of the Treasurer and Chief Financial Officer Pursuant to Rule 13a-14(b) of the Exchange Act and 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif">95</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 97</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt"><span style="font-family: Times New Roman, Times, Serif">Executive Compensation Clawback Policy</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 101.INS*</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt"><span style="font-family: Times New Roman, Times, Serif">Inline XBRL Instance Document&#8211; the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 101.SCH*</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt"><span style="font-family: Times New Roman, Times, Serif">Inline XBRL Taxonomy Extension Schema Document</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 101.CAL*</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt"><span style="font-family: Times New Roman, Times, Serif">Inline XBRL Taxonomy Extension Calculation Linkbase Document</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 101.DEF*</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt"><span style="font-family: Times New Roman, Times, Serif">Inline XBRL Taxonomy Extension Definition Linkbase Document</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 101.LAB*</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt"><span style="font-family: Times New Roman, Times, Serif">Inline XBRL Taxonomy Extension Label Linkbase Document</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 101.PRE*</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt"><span style="font-family: Times New Roman, Times, Serif">Inline XBRL Taxonomy Extension Presentation Linkbase Document</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: right">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 104*</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt"><span style="font-family: Times New Roman, Times, Serif">Cover Page Interactive Data File &#8211; the cover page interactive data file does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.</span></td>
    <td style="text-indent: 0pt; padding-right: 0pt; padding-left: 0pt; text-align: right">&#160;</td></tr>
  <tr>
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left">*Filed herewith</td>
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt">&#160;</td>
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: right">&#160;</td></tr>
  <tr>
    <td colspan="2" style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: left">**Indicates management contract or compensatory plan or arrangement</td>
    <td style="text-indent: 0pt; vertical-align: top; padding-right: 0pt; padding-left: 0pt; text-align: right">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><!-- Field: Page; Sequence: 86 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->86<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">YEAR ENDED DECEMBER 31, 2023<br/>
<br/>
STURM, RUGER &amp; COMPANY, INC.<br/>
<br/>
<br/>
<br/>
</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">ITEMS 15(a)<br/>
FINANCIAL STATEMENT SCHEDULE</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>


</div><!-- Field: Page; Sequence: 87 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->87<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Sturm, Ruger &amp; Company, Inc.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><div><a id="a_029"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Item 15(a)--Financial Statement Schedule</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Schedule II&#8212;Valuation and Qualifying Accounts</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><i>(In Thousands)</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="text-align: center; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">COL. A</td><td style="text-align: center; border-top: Black 1pt solid; border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">COL. B</td><td style="text-align: center; border-top: Black 1pt solid; border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td><td style="text-align: center; border-top: Black 1pt solid; border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td colspan="4" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">COL. C</td><td style="text-align: center; border-top: Black 1pt solid; border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td><td style="text-align: center; border-top: Black 1pt solid; border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">COL. D</td><td style="text-align: center; border-top: Black 1pt solid; border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td><td style="text-align: center; border-top: Black 1pt solid; border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">COL. E</td><td style="text-align: center; border-top: Black 1pt solid; border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="5" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">ADDITIONS</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="border-bottom: Black 1pt solid; text-align: center; padding-bottom: 1pt; vertical-align: bottom">Description</td><td style="border-bottom: Black 1pt solid; text-align: center; padding-bottom: 1pt; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">Balance at<br/> Beginning<br/> of Period</td><td style="border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt; text-align: center">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: center; padding-bottom: 1pt; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">(1)<br/> Charged <br/> (Credited) to<br/> Costs and<br/> Expenses</td><td style="border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt; text-align: center">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: center; padding-bottom: 1pt; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center; padding-bottom: 1pt">(2)<br/> Charged to<br/> Other<br/> Accounts<br/> &#8211;Describe</td><td style="border-bottom: Black 1pt solid; text-align: center; padding-bottom: 1pt; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">Deductions</td><td style="border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt; text-align: center">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: center; padding-bottom: 1pt; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">Balance<br/> at End<br/> of <br/> Period</td><td style="border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; padding-bottom: 1pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deductions from asset accounts:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 9pt">Allowance for doubtful accounts:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 35%; padding-bottom: 1pt; padding-left: 0.25in">Year ended December 31, 2023</td><td style="width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">400</td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="width: 12%; text-align: right; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif">&#160;&#160;</span></td><td style="width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">400</td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt; padding-left: 0.25in">Year ended December 31, 2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">400</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="text-align: right; padding-bottom: 1pt">&#160;<span style="font-family: Times New Roman, Times, Serif">&#160;</span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">400</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt; padding-left: 0.25in">Year ended December 31, 2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">400</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="text-align: right; padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">400</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 9pt">Allowance for discounts:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt; padding-left: 0.25in">Year ended December 31, 2023</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">1,334</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">12,540</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="text-align: right; padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">12,710</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">(a)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">1,164</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt; padding-left: 0.25in">Year ended December 31, 2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">1,169</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">13,849</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="text-align: right; padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">13,684</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">(a)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">1,334</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt; padding-left: 0.25in">Year ended December 31, 2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">1,166</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">16,116</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="text-align: right; padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">16,113</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">(a)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">1,169</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -0.25in; padding-left: 0.25in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.25in; padding-left: 27pt">Excess and obsolete inventory reserve:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: right">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt; padding-left: 0.25in">Year ended December 31, 2023</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">4,812</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">1,615</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="text-align: right; padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">307</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">(b)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">6,120</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt; padding-left: 0.25in">Year ended December 31, 2022</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">4,347</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">465</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="text-align: right; padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif">&#8212;</span></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">(b)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">4,812</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt; padding-left: 0.25in">Year ended December 31, 2021</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">3,394</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">953</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="text-align: right; padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">(b)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">4,347</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  </table><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 27pt">(a)</td><td style="text-align: justify">Discounts taken</td></tr></table><div>

</div><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 27pt">(b)</td><td style="text-align: justify">Inventory written off</td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 27pt; text-align: justify; text-indent: -27pt">&#160;</p><div>

</div><!-- Field: Page; Sequence: 88 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->88<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 27pt; text-align: justify"></p><div>

</div><div style="display: none"><ix:header>
<ix:hidden>
<ix:nonNumeric contextRef="c0" id="hidden-fact-0" name="dei:EntityWellKnownSeasonedIssuer">Yes</ix:nonNumeric>
<ix:nonNumeric contextRef="c0" id="hidden-fact-1" name="dei:EntityVoluntaryFilers">No</ix:nonNumeric>
<ix:nonNumeric contextRef="c0" id="hidden-fact-2" name="dei:EntityCurrentReportingStatus">Yes</ix:nonNumeric>
<ix:nonNumeric contextRef="c0" id="hidden-fact-3" name="dei:EntityInteractiveDataCurrent">Yes</ix:nonNumeric>
<ix:nonFraction contextRef="c3" id="hidden-fact-4" name="us-gaap:DividendsPayableCurrent" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c3" id="hidden-fact-5" name="us-gaap:TaxesPayableCurrent" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c3" id="hidden-fact-6" name="us-gaap:CommitmentsAndContingencies" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c4" id="hidden-fact-7" name="us-gaap:CommitmentsAndContingencies" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c5" id="hidden-fact-8" name="us-gaap:CommonStockValue" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c6" id="hidden-fact-9" name="us-gaap:CommonStockValue" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c5" id="hidden-fact-10" name="us-gaap:CommonStockSharesIssued" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c6" id="hidden-fact-11" name="us-gaap:CommonStockSharesIssued" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c16" id="hidden-fact-12" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c15" id="hidden-fact-13" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c0" id="hidden-fact-14" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c16" id="hidden-fact-15" name="us-gaap:IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c16" id="hidden-fact-16" name="us-gaap:PaymentsForRepurchaseOfCommonStock" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c29" id="hidden-fact-17" name="us-gaap:ContractWithCustomerLiability" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c15" id="hidden-fact-18" name="us-gaap:DeferredRevenueRevenueRecognized1" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c16" id="hidden-fact-19" name="rgr:RevenueDeferred" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c29" id="hidden-fact-20" name="us-gaap:ContractWithCustomerLiability" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c81" id="hidden-fact-21" name="us-gaap:TreasuryStockPreferredShares" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c82" id="hidden-fact-22" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" unitRef="usdPershares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c81" id="hidden-fact-23" name="us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c83" id="hidden-fact-24" name="us-gaap:TreasuryStockPreferredShares" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c84" id="hidden-fact-25" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" unitRef="usdPershares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c83" id="hidden-fact-26" name="us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c87" id="hidden-fact-27" name="us-gaap:TreasuryStockPreferredShares" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c88" id="hidden-fact-28" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" unitRef="usdPershares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c87" id="hidden-fact-29" name="us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c91" id="hidden-fact-30" name="us-gaap:TreasuryStockPreferredShares" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c92" id="hidden-fact-31" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" unitRef="usdPershares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c91" id="hidden-fact-32" name="us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c93" id="hidden-fact-33" name="us-gaap:TreasuryStockPreferredShares" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c94" id="hidden-fact-34" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" unitRef="usdPershares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c93" id="hidden-fact-35" name="us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c189" id="hidden-fact-36" name="rgr:ValuationAllowancesAndReservesSettlements" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c191" id="hidden-fact-37" name="rgr:ValuationAllowancesAndReservesSettlements" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c193" id="hidden-fact-38" name="rgr:ValuationAllowancesAndReservesSettlements" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c15" id="hidden-fact-39" name="us-gaap:LossContingencyNewClaimsFiledNumber" unitRef="pure" xsi:nil="true"></ix:nonFraction>
<ix:nonNumeric contextRef="c0" name="dei:AmendmentFlag" id="ixv-16037">false</ix:nonNumeric>
<ix:nonNumeric contextRef="c0" name="dei:DocumentFiscalPeriodFocus" id="ixv-16038">FY</ix:nonNumeric>
<ix:nonNumeric contextRef="c0" name="dei:EntityCentralIndexKey" id="ixv-16039">0000095029</ix:nonNumeric>
</ix:hidden>
<ix:references><link:schemaRef xlink:href="rgr-20231231.xsd" xlink:type="simple"/></ix:references>
<ix:resources><ix:relationship fromRefs="ix_0_fact ix_1_fact ix_2_fact ix_3_fact ix_4_fact ix_5_fact" toRefs="ix_0_footnote"></ix:relationship>
<ix:relationship fromRefs="ix_6_fact ix_7_fact ix_8_fact ix_12_fact ix_13_fact ix_14_fact" toRefs="ix_1_footnote"></ix:relationship>
<ix:relationship fromRefs="ix_9_fact ix_10_fact ix_11_fact" toRefs="ix_2_footnote"></ix:relationship>
<ix:relationship fromRefs="hidden-fact-36 hidden-fact-37 hidden-fact-38" toRefs="ix_3_footnote"></ix:relationship>
<ix:relationship fromRefs="ix_15_fact ix_16_fact ix_17_fact" toRefs="ix_4_footnote"></ix:relationship>
<ix:relationship fromRefs="ix_18_fact ix_19_fact ix_20_fact ix_24_fact" toRefs="ix_7_footnote"></ix:relationship>
<ix:relationship fromRefs="ix_21_fact ix_22_fact ix_23_fact ix_25_fact" toRefs="ix_8_footnote"></ix:relationship>
<xbrli:context id="c0">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c1">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c2">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-02-15</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c3">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c4">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c5">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:NonvotingCommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c6">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:NonvotingCommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c7">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c8">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c9">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:FirearmsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c10">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:FirearmsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c11">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:FirearmsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c12">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:UnaffiliatedCastingsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c13">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:UnaffiliatedCastingsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c14">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:UnaffiliatedCastingsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c15">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c16">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c17">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2020-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c18">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2020-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c19">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2020-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c20">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2020-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c21">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2020-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c22">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c23">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c24">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c25">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2021-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c26">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2021-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c27">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2021-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c28">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2021-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c29">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2021-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c30">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c31">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c32">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c33">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c34">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c35">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c36">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c37">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c38">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c39">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c40">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c41">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c42">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c43">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c44">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c45">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c46">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c47">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:ExportSalesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c48">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsSalesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c49">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c50">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c51">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ToolsDiesAndMoldsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c52">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:OtherDebtSecuritiesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c53">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-03-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c54">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerOneMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c55">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerTwoMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c56">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerThreeMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c57">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerOneMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c58">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerTwoMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c59">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerThreeMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c60">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandAndLandImprovementsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c61">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandAndLandImprovementsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c62">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c63">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c64">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c65">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ToolsDiesAndMoldsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c66">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">rgr:TradeNameMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c67">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c68">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c69">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c70">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:TradeAccountsPayableAndAccruedExpensesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c71">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:TradeAccountsPayableAndAccruedExpensesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c72">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:LeaseLiabilitiesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c73">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:LeaseLiabilitiesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c74">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">rgr:OperatingLeaseMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c75">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-11-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c76">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-01-05</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c77">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2021-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c78">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c79">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-01-07</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c80">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c81">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JulyThreeToJulyThirtyMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-09-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c82">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JulyThreeToJulyThirtyMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-07-01</xbrli:startDate>
    <xbrli:endDate>2022-09-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c83">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JulyThirtyoneToAugustTwentySevenMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-09-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c84">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JulyThirtyoneToAugustTwentySevenMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-07-01</xbrli:startDate>
    <xbrli:endDate>2022-09-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c85">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:AugustTwentyEightToOctoberOneMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-09-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c86">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:AugustTwentyEightToOctoberOneMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-07-01</xbrli:startDate>
    <xbrli:endDate>2022-09-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c87">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberTwoToOctoberTwentyNineMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c88">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberTwoToOctoberTwentyNineMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-10-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c89">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberThirtyToNovemberTwentySevenMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c90">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberThirtyToNovemberTwentySevenMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-10-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c91">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:NovemberTwentySevenToDecemberThirtyOneMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c92">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:NovemberTwentySevenToDecemberThirtyOneMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-10-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c93">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberOneToOctoberTwentyEightMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c94">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberOneToOctoberTwentyEightMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-10-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c95">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:October29ToNovember25Member</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c96">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:October29ToNovember25Member</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-10-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c97">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:November26ToDecember31Member</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c98">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:November26ToDecember31Member</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-10-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c99">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-10-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c100">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rgr:StockIncentivePlan2017Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2017-05-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c101">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rgr:StockIncentivePlan2023Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c102">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rgr:StockIncentivePlan2023Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c103">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rgr:StockIncentivePlan2017Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c104">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="rgr:VestingPeriodAxis">rgr:VestInJune2024Member</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c105">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="rgr:VestingPeriodAxis">rgr:VestInJune2026Member</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
<!-- [WMV5][XcpuxYn59dz7vgYynUDuwG7r97K2jUTysl7vcz0lJt/tSeJz73kx1cLt0ZFF2SK/vxBCY0vdSrae3Q64+IQnmb2USxqPYGfVI2tDrLdUwwGN7MqrQdhG+SCWYUh6Hp+V8bA/AEnE3cNkyoG64Ll76mKBykPxsq7UZToAehnDUkdsoUl/OXPyniSyg2keWK/5oF8+flNxqJpCbuMe90w6AkYj4WWoTfEFqinw/xNg0k5K9t6nNzB5aibP7T0iIrB1Y5tUryAKpwZ8n6+XujJhxxxw/t6mzYES] CSR-->
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c106">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="rgr:VestingPeriodAxis">rgr:VestInMay2023Member</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c107">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="rgr:VestingPeriodAxis">rgr:VestingInMay2025Member</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c108">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="rgr:VestingPeriodAxis">rgr:VestInJune2027Member</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c109">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="rgr:VestingPeriodAxis">rgr:VestingMayTwoThousandTwentyTwoMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c110">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="rgr:VestingPeriodAxis">rgr:VestInMay2024Member</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c111">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c112">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c113">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c114">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c115">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c116">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c117">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c118">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c119">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c120">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c121">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c122">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c123">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c124">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2021-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c125">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c126">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c127">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:LipseysMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c128">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:DavidsonsMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c129">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:SportsSouthMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c130">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:LipseysMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c131">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:DavidsonsMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c132">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:SportsSouthMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c133">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:LipseysMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c134">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:SportsSouthMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c135">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:DavidsonsMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c136">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c137">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c138">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c139">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c140">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c141">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c142">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:UnaffiliatedCastingsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c143">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:UnaffiliatedCastingsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c144">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:UnaffiliatedCastingsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c145">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:IntersegmentMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c146">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:IntersegmentMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c147">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:IntersegmentMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c148">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c149">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c150">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c151">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:EliminationsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c152">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:EliminationsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c153">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:EliminationsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c154">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c155">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c156">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c157">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c158">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c159">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2021-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c160">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c161">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c162">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2021-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c163">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c164">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c165">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2021-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c166">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-02</xbrli:startDate>
    <xbrli:endDate>2023-04-01</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c167">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-04-02</xbrli:startDate>
    <xbrli:endDate>2023-07-01</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c168">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-02</xbrli:startDate>
    <xbrli:endDate>2023-09-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c169">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-04-02</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c170">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-04-01</xbrli:startDate>
    <xbrli:endDate>2022-07-02</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c171">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-06-30</xbrli:startDate>
    <xbrli:endDate>2022-10-02</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c172">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-10-03</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c173">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalRifleAssociationMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c174">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalRifleAssociationMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c175">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalRifleAssociationMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c176">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalShootingSportsFoundationMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c177">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalShootingSportsFoundationMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c178">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalShootingSportsFoundationMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c179">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:TraditionalProductLiabilityMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c180">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:MunicipalLawsuitsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c181">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:UnfairTradePracticesLawsuitsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c182">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:NegligenceLawsuitsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c183">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:TraditionalProductLiabilityMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c184">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:MunicipalLawsuitsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c185">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:NegligenceLawsuitsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c186">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:TraditionalProductLiabilityMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c187">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:MunicipalLawsuitsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c188">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2020-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c189">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c190">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2021-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c191">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c192">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c193">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c194">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c195">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:AccruedLegalExpenseMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c196">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductInsurancePremiumExpenseMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c197">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:TotalProductLiabilityExpenseMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2021-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c198">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:AccruedLegalExpenseMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c199">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductInsurancePremiumExpenseMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c200">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:TotalProductLiabilityExpenseMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c201">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:AccruedLegalExpenseMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c202">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductInsurancePremiumExpenseMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c203">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:TotalProductLiabilityExpenseMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c204">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-02-16</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c205">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="ecd:IndividualAxis">rgr:ChristopherJKilloyMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-10-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c206">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="ecd:IndividualAxis">rgr:ChristopherJKilloyMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context id="c207">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="ecd:IndividualAxis">rgr:JophnACosentinoJrMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-10-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context id="c208">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="ecd:IndividualAxis">rgr:JophnACosentinoJrMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </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="usdPershares">
  <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><xbrli:unit id="pure">
  <xbrli:measure>xbrli:pure</xbrli:measure>
</xbrli:unit></ix:resources></ix:header>

</div></div></body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>2
<FILENAME>ex23-1.htm
<DESCRIPTION>EX-23.1
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">Exhibit 23.1</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Consent of Independent Registered Public
Accounting Firm</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We consent to incorporation by reference in the Registration Statements
(Nos. 333-217885, 333-84677 and 333-53234) on Form S-8 of Sturm, Ruger &amp; Company, Inc. of our reports dated February 21, 2024 relating
to the consolidated financial statements, the financial statement schedule and the effectiveness of internal control over financial reporting
of Sturm, Ruger &amp; Company, Inc., appearing in the Annual Report on Form 10-K of Sturm, Ruger &amp; Company, Inc. for the year ended
December 31, 2023.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">/s/ RSM US LLP</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Stamford, Connecticut</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">February 21, 2024</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</P>

<!-- Field: Page; Sequence: 1; Options: NewSection; Value: 89 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->89<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>3
<FILENAME>ex31-1.htm
<DESCRIPTION>EX-31.1
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">EXHIBIT 31.1</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">CERTIFICATION</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">I, Christopher J. Killoy, certify that:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 22.5pt"></TD><TD STYLE="width: 31.5pt">1.</TD><TD STYLE="text-align: justify">I have reviewed this Annual Report on Form 10-K (the &ldquo;Report&rdquo;) of Sturm, Ruger &amp; Company,
Inc. (the &ldquo;Registrant&rdquo;);</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -31.5pt">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 22.5pt"></TD><TD STYLE="width: 31.5pt">2.</TD><TD STYLE="text-align: justify">Based on my knowledge, this Report does not contain any untrue statement of a material fact or omit to
state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not
misleading with respect to the period covered by this Report;</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -31.5pt">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 22.5pt"></TD><TD STYLE="width: 31.5pt">3.</TD><TD STYLE="text-align: justify">Based on my knowledge, the financial statements, and other financial information included in this Report,
fairly present in all material respects, the financial condition, results of operations and cash flows of the Registrant as of, and for,
the periods presented in this Report;</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -31.5pt">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 22.5pt"></TD><TD STYLE="width: 31.5pt">4.</TD><TD STYLE="text-align: justify">The Registrant&rsquo;s other certifying officer and I are responsible for establishing and maintaining
disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting
(as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the Registrant and have:</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 49.7pt"></TD><TD STYLE="width: 22.3pt">a)</TD><TD STYLE="text-align: justify">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to
be designed under our supervision, to ensure that material information relating to the Registrant, including its consolidated subsidiaries,
is made known to us by others within those entities, particularly during the period in which this Report is being prepared;</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify; text-indent: -22.3pt">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 49.7pt"></TD><TD STYLE="width: 22.3pt">b)</TD><TD STYLE="text-align: justify">Designed such internal control over financial reporting, or caused such internal control over financial
reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the
preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 49.7pt"></TD><TD STYLE="width: 22.3pt">c)</TD><TD STYLE="text-align: justify">Evaluated the effectiveness of the Registrant&rsquo;s disclosure controls and procedures and presented
in this Report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered
by this Report based on such evaluation; and</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 49.7pt"></TD><TD STYLE="width: 22.3pt">d)</TD><TD STYLE="text-align: justify">Disclosed in this Report any change in the Registrant&rsquo;s internal control over financial reporting
that occurred during the Registrant&rsquo;s most recent fiscal quarter (the Registrant&rsquo;s fourth fiscal quarter in the case of an
annual report) that has materially affected, or is reasonably likely to materially affect, the Registrant&rsquo;s internal control over
financial reporting.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify; text-indent: -22.3pt">&nbsp;</P>

<!-- Field: Page; Sequence: 1; Options: NewSection; Value: 90 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->90<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify"></P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 22.5pt"></TD><TD STYLE="width: 27pt">5.</TD><TD STYLE="text-align: justify">The Registrant&rsquo;s other certifying officer and I have disclosed, based on our most recent evaluation
of internal control over financial reporting, to the Registrant&rsquo;s auditors and the audit committee of Registrant&rsquo;s board of
directors (or persons performing the equivalent functions):</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 49.7pt"></TD><TD STYLE="width: 22.3pt">a)</TD><TD STYLE="text-align: justify">All significant deficiencies and material weaknesses in the design or operation of internal control over
financial reporting which are reasonably likely to adversely affect the Registrant&rsquo;s ability to record, process, summarize and report
financial information; and</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 49.5pt"></TD><TD STYLE="width: 22.5pt">b)</TD><TD STYLE="text-align: justify">Any fraud, whether or not material, that involves management or other employees who have a significant
role in the Registrant&rsquo;s internal control over financial reporting.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Date: February 21, 2024</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 2.5in; border-bottom: Black 1pt solid; padding-top: 10pt; color: Black">S/CHRISTOPHER J. KILLOY</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; padding-top: 10pt; color: Black">&nbsp;</TD></TR>
  <TR STYLE="color: Black; vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="color: Black; font: 10pt Times New Roman, Times, Serif">Christopher J. Killoy</TD>
    <TD STYLE="color: Black; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
  <TR STYLE="color: Black; vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="color: Black; font: 10pt Times New Roman, Times, Serif">Chief Executive Officer</TD>
    <TD STYLE="color: Black; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 2; Value: 90 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->91<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>4
<FILENAME>ex31-2.htm
<DESCRIPTION>EX-31.2
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">EXHIBIT 31.2</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">CERTIFICATION</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">I, Thomas A. Dineen, certify that:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 18pt"></TD><TD STYLE="width: 31.5pt">1.</TD><TD STYLE="text-align: justify">I have reviewed this Annual Report on Form 10-K (the &ldquo;Report&rdquo;) of Sturm, Ruger &amp; Company,
Inc. (the &ldquo;Registrant&rdquo;);</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 49.5pt; text-align: justify; text-indent: -31.5pt">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 18pt"></TD><TD STYLE="width: 31.5pt">2.</TD><TD STYLE="text-align: justify">Based on my knowledge, this Report does not contain any untrue statement of a material fact or omit to
state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not
misleading with respect to the period covered by this Report;</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 49.5pt; text-align: justify; text-indent: -31.5pt">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 18pt"></TD><TD STYLE="width: 31.5pt">3.</TD><TD STYLE="text-align: justify">Based on my knowledge, the financial statements, and other financial information included in this Report,
fairly present in all material respects, the financial condition, results of operations and cash flows of the Registrant as of, and for,
the periods presented in this Report;</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 49.5pt; text-align: justify; text-indent: -31.5pt">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 18pt"></TD><TD STYLE="width: 31.5pt">4.</TD><TD STYLE="text-align: justify">The Registrant&rsquo;s other certifying officer and I are responsible for establishing and maintaining
disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting
(as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the Registrant and have:</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 49.7pt"></TD><TD STYLE="width: 22.3pt">a)</TD><TD STYLE="text-align: justify">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to
be designed under our supervision, to ensure that material information relating to the Registrant, including its consolidated subsidiaries,
is made known to us by others within those entities, particularly during the period in which this Report is being prepared;</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify; text-indent: -22.3pt">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 49.7pt"></TD><TD STYLE="width: 22.3pt">b)</TD><TD STYLE="text-align: justify">Designed such internal control over financial reporting, or caused such internal control over financial
reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the
preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 49.7pt"></TD><TD STYLE="width: 22.3pt">c)</TD><TD STYLE="text-align: justify">Evaluated the effectiveness of the Registrant&rsquo;s disclosure controls and procedures and presented
in this Report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered
by this Report based on such evaluation; and</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 49.7pt"></TD><TD STYLE="width: 22.3pt">d)</TD><TD STYLE="text-align: justify">Disclosed in this Report any change in the Registrant&rsquo;s internal control over financial reporting
that occurred during the Registrant&rsquo;s most recent fiscal quarter (the Registrant&rsquo;s fourth fiscal quarter in the case of an
annual report) that has materially affected, or is reasonably likely to materially affect, the Registrant&rsquo;s internal control over
financial reporting.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify; text-indent: -22.3pt">&nbsp;</P>

<!-- Field: Page; Sequence: 1; Options: NewSection; Value: 92 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->92<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify"></P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 18pt"></TD><TD STYLE="width: 31.5pt">5.</TD><TD STYLE="text-align: justify">The Registrant&rsquo;s other certifying officer and I have disclosed, based on our most recent evaluation
of internal control over financial reporting, to the Registrant&rsquo;s auditors and the audit committee of Registrant&rsquo;s board of
directors (or persons performing the equivalent functions):</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 49.7pt"></TD><TD STYLE="width: 22.3pt">a)</TD><TD STYLE="text-align: justify">All significant deficiencies and material weaknesses in the design or operation of internal control over
financial reporting which are reasonably likely to adversely affect the Registrant&rsquo;s ability to record, process, summarize and report
financial information; and</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 49.7pt"></TD><TD STYLE="width: 22.3pt">b)</TD><TD STYLE="text-align: justify">Any fraud, whether or not material, that involves management or other employees who have a significant
role in the Registrant&rsquo;s internal control over financial reporting.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Date: February 21, 2024</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 2.5in; border-bottom: Black 1pt solid"><FONT STYLE="font-family: Times New Roman, Times, Serif">S/THOMAS A. DINEEN</FONT></TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif">Thomas A. Dineen</FONT></TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif">Senior Vice President, Treasurer and</FONT></TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif">Chief Financial Officer</FONT></TD>
    <TD>&nbsp;</TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 2; Value: 93 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->93<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>5
<FILENAME>ex32-1.htm
<DESCRIPTION>EX-32.1
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">EXHIBIT 32.1</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Certification Pursuant to 18 U.S.C. Section 1350,</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">As Adopted Pursuant to</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Section 906 of the Sarbanes-Oxley Act of 2002</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In connection with the Annual Report on Form 10-K
of Sturm, Ruger &amp; Company, Inc. (the &ldquo;Company&rdquo;) for the period ended December 31, 2023, as filed with the Securities and
Exchange Commission on the date hereof (the &ldquo;Report&rdquo;), I, Christopher J. Killoy, Chief Executive Officer of the Company, hereby
certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to the best of
my knowledge:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in">(1)</TD><TD STYLE="text-align: justify">The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act
of 1934; and</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in">(2)</TD><TD STYLE="text-align: justify">The information contained in the Report fairly presents, in all material respect, the financial condition
and results of operations of the Company.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif">Date: February 21, 2024</FONT></TD>
    <TD STYLE="width: 2.5in; border-bottom: Black 1pt solid"><FONT STYLE="font-family: Times New Roman, Times, Serif">S/CHRISTOPHER J. KILLOY</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif">Christopher J. Killoy</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif">Chief Executive Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">A signed original of this statement has been
provided to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon
request.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<!-- Field: Page; Sequence: 1; Options: NewSection; Value: 94 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->94<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>6
<FILENAME>ex32-2.htm
<DESCRIPTION>EX-32.2
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: italic 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><FONT STYLE="font-style: normal; font-weight: normal">EXHIBIT
32.2</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Certification Pursuant to 18 U.S.C. Section 1350,</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">As Adopted Pursuant to</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Section 906 of the Sarbanes-Oxley Act of 2002</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In connection with the Annual Report on Form 10-K
of Sturm, Ruger &amp; Company, Inc. (the &ldquo;Company&rdquo;) for the period ended December 31, 2023, as filed with the Securities and
Exchange Commission on the date hereof (the &ldquo;Report&rdquo;), I, Thomas A. Dineen, Senior Vice President, Treasurer and Chief Financial
Officer of the Company, hereby certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act
of 2002, that, to the best of my knowledge:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in">(1)</TD><TD STYLE="text-align: justify">The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act
of 1934; and</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in">(2)</TD><TD STYLE="text-align: justify">The information contained in the Report fairly presents, in all material respect, the financial condition
and results of operations of the Company.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 60%; padding-right: 0.8in"><FONT STYLE="font-family: Times New Roman, Times, Serif">Date: February 21, 2024</FONT></TD>
    <TD STYLE="width: 40%; border-bottom: Black 1pt solid; padding-right: 0.8in"><FONT STYLE="font-family: Times New Roman, Times, Serif">S/THOMAS A. DINEEN</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif">Thomas A. Dineen</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding-right: -9pt">&nbsp;</TD>
    <TD STYLE="padding-right: -9pt"><FONT STYLE="font-family: Times New Roman, Times, Serif">Senior Vice President, Treasurer and</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding-right: -9pt">&nbsp;</TD>
    <TD STYLE="padding-right: -9pt"><FONT STYLE="font-family: Times New Roman, Times, Serif">Chief Financial Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">A signed original of this statement has been provided
to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 1; Options: NewSection; Value: 95 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->95<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>7
<FILENAME>image_001.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 image_001.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  @&!@<&!0@'!P<)"0@*#!0-# L+
M#!D2$P\4'1H?'AT:'!P@)"XG("(L(QP<*#<I+# Q-#0T'R<Y/3@R/"XS-#+_
MVP!# 0@)"0P+#!@-#1@R(1PA,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R
M,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C+_P  1" &L IT# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#W^BBO+M,U
MO6E^(>LZ?J.L20><D@L%:-)+7 WE3D$%64#D$\X/M1UL'2YZC17E">)O$BS/
MH,NK%+Y]7CM%NY+:,2I"T1??M *$,5.WKQUYJA_PL#Q'<:=;WR7<</V*QAN;
MB(0*1>,UP8CUY487/R]S32OL#T/9J*BFN([>!II=P10,[5+'\AS26US#>6ZS
MP/OC;.#@CH<'@\]12 FHHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ KG(_ OAV+6;[5
M!IZ-/>H4F5B2GS9W$+T!;//_ .NNCHH YM/ 7AJ/3)=/73?W$LBRL3-(7WJ,
M*0^[<,#@8/ J27P3X<F:P+Z7'_H"*EN S *JG(! .& (S\V>>:Z"B@ K.T/_
M )!G_;>?_P!&O6C6=H?_ "#/^V\__HUZ -&BBB@ HHHH **** "BBB@ HHHH
M **Y_6M*\27M\)=*\31Z;;[ # VG).2W.3N+#VX]JSO^$>\;?]#W%_X)8_\
MXN@#8_X2[PUOV?\ "1:3OSC;]MCSGT^]6S7SW_9/B'_A!?[+WZE]I^S>5]D_
MX15OO?W?/Q_X]7J?_"/>-O\ H>XO_!+'_P#%T =C5!]<TF/4AIKZI9K?$X%L
M9U$A_P" YS6;HVD^);._$NJ>*(]1MMI'D#3DA.>QW!CT]*\VUG2;^'Q+>G3M
M#U%[B;5%G-M<62SVTWS#]ZMP #'QSC/![4+620/X6SV:.>&9I%BE1VB;8X5@
M2K8S@^AP14E>-Q:?K.B7FL2VMMKF5\2174WE^:XFM#U*C^/W R< 9Z58@A\2
MZQJ=M'.^OVEE/KUT7(:6)EMO*!0$_P *YZ>_O0M;?U_7_ &]+GKE%>1II?B.
M348V>Z\0*C^(Y;=P)Y0HLMIP?9<]&_(UU'@K5+RUT^TTG65U!KV6XNQ!)<HQ
M)BCD.W<S<GY2,$]:%K_7I_G^8GH=!?\ B70=+NOLNH:UI]I<8#>5/<HC8/0X
M)S6C%-'<0I-#(LD3@,KH<A@>X->5>*O"^NZOXU\0W.EO);-_9< A9[9'CN6!
M?,>YU.#CN.F1FJ\$NK:5I]FFFZ7K\%B_AV2V@M5CD9H;L,?O#C:WHV![4D_=
MN_ZW_P AV]ZW]=/\_P #V"BO!O$&L:W8Z;=C4+_6X+N+1+9K/[-,RA)2O[TS
M8/#9_O<^G-;L:>+Y?&T;37FK11?:8/(6&V>2!K?8-V]O,6,<YSN!;/2JMK;^
MNO\ D3?2YZY5)=7TU]2;34U"U:^49:V$RF0#U*YS7-?#VPU&'2;B]U:XU-[V
M:YF7R[V5R$02-LVJW3C'/<8KSJ"'Q+I_C?\ MP:!>SW#WLLES:_99!#;;B$\
MV-P<2$Q]L]3G%):M+N-Z)OM_7Z'N5S=6]E;O<74\<$*#+22L%51[DU%8:E8Z
MI;_:-/O+>[ASCS() ZY],BN5^(>GW5[:Z-<QV,M_9V6H)<7EG&NYI8P".%_B
MP2#BL"_>]N+&XN]!\-:GH]E+J$(O9+>,Q75S %.YDC W+@X&1R1FA?U^'^?X
M _Z_$]3HKR:WM_$]W#ID#2:['ILFN,L;2/(EP+/RS_K2/F W="W/3VK.\OQ5
MIND6UX]UKNXIJ<=R9Y)"(XT1_)8Y^Z> 0W4^M)NRN-*[L>U45XYH%[XB?3C>
M6,?B&Z@;0=]R+F1LR71 VF!F!YQDY4$=.]5+*/Q=+,;,2^(%LY-1L6$A^T!E
MB8.)AN?YL XSG [X'%5;WN7^M[$WTO\ UL>W45Y%?WFN^&_#U]JLEUJ!&CZY
M)Y$-U,^;NU;"[<L?WGWL@G/2NT\(W-Q965AH^JRW<^KS6IOII)=S*"S<H&/]
MTL!CL*2U_KRO^0WI_7R.BCO;6:ZFM8KF)[B#:98E<%H]W(W#J,]LU/7DFN:;
MKK>.]5DL8M3@@NM1TU7N+577="$<2?,/X1QGTI\T?B:VTZ6UD;77TR#7I4E:
M$R-=-9[<IL;[[+N/49.*%JKC:LSUBBN;\*W[_8;:PEMM:#F)I5EU./+[=Y #
M..-V.0#\V.M=)38@HHHI %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %9VA_\ (,_[;S_^C7K1K.T/_D&?]MY__1KT :-%%% !1110
M 4444 %%%% !1110!"]Y:QW*6SW,*W#C*Q%P&8>PZGH:B&JZ<8GE%_:F-"%=
M_.7"D]B<\5'-H6D7.IQZG/I5C+J$6/+NGMT:5,=,.1D=?6JB^$/#*6LMJOAW
M2%MY65Y(A91A'9<X)&W!(R<'W- %8>--);QE'X:63=<R6XF64$&,L1N$8/\
M>*9?Z5L#5=.,3RB_M3&A"N_G+A2>Q.>*\[3X6WL(4P7/AZ*YCO%NHKY='87$
M960,JJPEP$  0*!C:,8[UVJ^$/#*6LMJOAW2%MY65Y(A91A'9<X)&W!(R<'W
M- &HEW;22K$EQ"TCIYBJK@DK_> ]/>N(;XCN?%%QI$.D+(MO=BUDW7B)<'./
MG6$C+)SUS76V^A:/:7<5U;:58PW,,0ABFCMT5TC'1 0,A?8<5R6L_#JZUJ_D
M-SKQ>P>Z6Y6.2T5YXL,&V1S$Y5<CTH7Q*^P/X7W+-UX_\CQ^OA9-,:1MT:M*
M)?GPREMX3;@HN,$EACTJEK?Q'O=)U'78X]"BGL=%,?VF<WP1V#J&RJ%.2,],
MU3U?X1?VG>W4J:X8(YKJ2[5EM09U=Q@J9=V63_9(Z=ZW+3X=:3_PD.HZSJL-
MKJ4]VT+1^=;#]R40*<9)SDC/;%$=E?\ K;_@@]W8N^*?%G_"/>&8=7@L9+QY
MWB2&W!*EB_KA6/ R>AK!'Q#>XL-*NK71(+K5+T7&R".ZXCCB&7RY0$'@?+M'
M-=?K>G7NH64<>G:D^G7$4JR)*L8=3C^%E.,J?J*Y-OAK)%:VLEGK30ZK%-<S
M2W;6X99#.,2#9D8[8YXQWI.^MOE_7Y@NER*Z^*T"V\5Y9:5)<V:64-]>R&8(
M;>.1MH 7!W$<Y&1TKT-6#HK*<AAD5YY<_"F!K>*SLM5DMK-[*&QO(S"',\<;
M;@0V1M)YR<'K7H:J$1548"C JG;^OZ]!*_\ 7]>I0O-"TC4;N.ZO=+LKFXCQ
MLEF@5V7'3!(R*T***0PHHHH **** "F30Q7$+PS1K)%(I5T<9# ]01W%/HH
M9##%;P1P01I%%&H5$1<*H'0 #H*?110!5O--L=0\K[;9V]SY+^9%YT8?8WJ,
M]#[U/Y48F,H1?,*[2^.<>F?2GT4 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %9VA_P#(,_[;S_\ HUZT:SM#
M_P"09_VWG_\ 1KT :-%%% !1110 4444 %%%% !1110!@:SXCO-)O1;P>&=8
MU%"@;S[-8BG.>/FD!SQZ4:+XCN]6O6MY_#6KZ:@0MYUX(@A.1Q\KDYY].U;]
M% 'BDGCSQ)'IY\0"WUQW%UY?V=8K;[%CS-OD]?-W]MW7=VQQ7JFA:S<:PDS7
M&AZCI?ED "]$8,F<_=V.W3'?'6JO]G>$/[3_ +<^SZ1]L_UGVO\ =YSNV[]W
MKGY=W7/&:Z&@# TCQ'>:GJ)M9O#&L:>@4G[1=B$1\=OED)R?I7D.LW_B!;_7
MKQ+_ %&"UCUQK1-0&J2B*R&5QN@ (*<X_&O?:YUM0\'-<7>CM=Z(9KJ4BYLS
M)%NED/!WIW;@=1FDOBO_ %NA]+?UU.:U3X@7VF#7H@;%Y=/O+.WM]X.95E";
MF(W<GDXQQ26_Q U0>+Y=-O8K**S:XF@MV52PD**2O[Y6*AN.595QZUVLOAO0
MYY5EET;3Y)%54#M;(2%7&T9QT&!CTQ4B:'I,>HMJ*:99K?/G=<B!1(<]<MC-
M,1YSIWQ0U0:=JL^IVEN;FVT]KV&WAC8!P&P<2!G5TY'S CZ56E\8^(=273(K
MT0VCC5[$;[.X0&2.3<2CHDCD#@=3@^E>G6F@Z18-.UGI=E;F<8F,4"KY@]&P
M.?QJMI^E^&W@:+3;'2S%!<[F6WBCVQSKW( X<?F*:WOZ ]OO,7P3>75YH>O/
M=7\NZ/5+R-)Y7W>4@;C&>@7TZ5P+ZUJ,&A:_J&B^(+^YTQ(8;=;BZN-\CR&4
M++/&#RB!20.@[CI7LZ:;8QVT]LEG;K!.S--&L8"R%OO%AT.>^>M4[3POX?T\
M2BST/3;?SD,<ODVJ)O4]5.!R/:DOT7Z?Y?B/_/\ S/+/[7OA>'0_[=O?[%_M
MX6O]H?:CYGE^1OV>=U^_WS[5FMXEUB]T2T^VZY>6JV^CWEU;SQS^6US-',5C
M+'^/Y0..^:]J_L#1_P"S/[-_LJR^P9W?9OLZ^7GUVXQ45Y8>'Y9+'3KRTTUW
M4%K.VFC0D!<9,:GTXZ=*5N@D3Z)<3WF@Z?<W2[;B:VCDE&,88J"?UJ_6?+KN
MD6]K+<RZI91V\,IADE:=0J..JDYP"/2K5K>6U];)<VEQ%<0.,K+$X96^A'%4
MW=MH25DDR:BLBV\5^';R[6TMM=TR:Y9MJPQW:,Y/I@'.:UZ0PHHHH ***JKJ
M=@TD,:WMN7G9EB42C,A7[P49Y([XZ4 6J*** "BH;B\MK5H5N+B*%IW$<0D<
M*9'Z[5SU/!XJIJ6OZ/H\D<>IZK963R E%N;A8RP'<9(S0!HT5';W$-W;I/;S
M1S0R#<DD;!E8>H(ZU)0 45"UY;)>1V;7$2W,B%TA+@.RCJ0.I R.:FH **CE
MGA@V>=*D>]@B;V W,>@'J:DH **R;[Q1X?TNZ-KJ&MZ=:7"@$Q3W2(P!Z<$Y
MITGB30H6MUEUG3T-RH> -<H/-!Z%>>0?:@#4HJF-6TYM0EL!?VIO(D\R2W$J
M^8B?WBN<@<CFG6&I6.JVWVG3KRWNX-Q7S8) ZY'49'% %JBBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
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
M+!1112&%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %<R? /APZIJ&H&Q/G7\;1S8D91ALARN#\
MI;/)'^-=-118#F(/A[X9MM,;3HK&7[*71PC7<S%&7.THQ;*8R?ND5/)X'\-R
MFP+:7%_H"A( &8 *&W , ?F&[GYL\\UT%%%^H!6=H?\ R#/^V\__ *->M&L[
M0_\ D&?]MY__ $:] &C1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !45Q<0
M6EO)<7,T<,$:EGDD8*JCU)/ %8WB/Q78^'1% R2WFIW/%II]L-TTY]A_"H[L
M>!6/:^$;[Q#/'J/C:9+C:PD@T:%O]$MSVW_\]G'J?EZX&*  ^+]6\2$Q>#-,
M$MN>#K&H!H[8>\:_?E[],#/>I(_A[;7\BS^*=3O?$$P.[RKEO+ME/JL"87_O
MK=78JJHH55"J!@ #  K"\1:[>Z#$+M=.CN+%6197^T;9,LX7")M.X\CJ10!J
MV6G66FP^386=O:Q?W((E1?R J'6=(AUS3FL+F6=+:1AYJPOL,J \HQZ[3T.,
M$CC-9%[XIEA\66>DVULLML[M%<SDG*2>6T@11W.%R?\ >%5M!\4WVH7VE"[6
MT^SZM;27$"0@AX-A7Y7))W<-U &""*%J#T)(?AUX<@NA.MFI4O*TD+*C12JY
M)V,A7!52<KW7UP2#3D\%WWA[-SX*U![0+R=)O)&DLY1W"YRT1]U./;%/\1>+
MKW2?$*Z="MLK,L)MX)8V9[PN^U@C @+M&"<@_@*M:9XF?5?$-S:QW^F00P7#
MVXM'.ZYFV<,P^8;1NSQM/ ZT+78'H3Z!XOM]8NWTN]M9M+UN%=TNGW.-Q']^
M-AQ(G^TOX@5T=8OB/PS8^);2..X,D%U;MYEI>P';-;/_ 'D;^8Z'O67H7B._
ML]63PUXI$::HRDV=[&-L.H(.I4?PR#^)/Q'% '74444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 5G:'_ ,@S_MO/_P"C7K1K.T/_ )!G_;>?_P!&O0!HT444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
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
MFXB$"D7C-<&(]>5&%S\O<TTKNPGH>S5G:'_R#/\ MO/_ .C7JY-.((&F9)&
M ^6-"S?@!S5'P^XDTA7 8!IICAA@C]ZW44AFG1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%<_XDU#4M/N-)>TE@2VFOHH
M)U9"SL';& <X'ZT=; =!17G^I^*;RRUVX#ZDD+PZE!:QZ8R+F>!]@,@R-Q.7
M)!!P-N,58TC6]5FGT'4)[PRVVLRRH;4QJ%@ 5W0J0-V<)@Y)Z]J%J#T.XHK@
M_%WB:\TF_P!2QJ:6 LK-+BU@=%Q>MEMZY89. H&%P1G-7[;Q%?MXG>TO9X;.
MT:<16T<NGS S@QAAMG+;,Y)XQGY:%J#T.MHHK'\0^)=.\-6:3WKN\LS>7;6L
M*[YKA^R(HY)_0=Z +NIZG9:-IT^H:C<QVUI NZ260X ']3Z <FN-M=-OO']U
M'J6NV\EIX=C826>DR##W1'(EN!Z=Q'^)][&G>'-2\0ZC!KGB]47R6\RQT9&W
M16I[/(?^6DOOT7M7:T ( %    '  [4M%% !1110 4444 %%%% ''>-YX[D)
MHKV-V8;Q!]IO(;&6<1Q!ON@HI^<]L].OI69=6=V_]J:.EC=F:^U>"[@G\EO+
M$(,3%B^,*5"$8)STXKL]8U_2= M#=:MJ-O9P[M@:5P,MC. .I..<"LC4_'FD
MZ8URIBOYOL]O]H:2*SD\H@IN11(0%W-D #/4@=:%I_7I_D#U_K^NYB:=:W:G
M1M+DL;I)M-U.XN[B=H6$9C_>D,KXPQ;>O )/7-6O&,\FKZ9#'IZZH\DBQS0V
MHLF\BY.X,%E8KE ,<@LOXUA^&/'6N:<)K7Q'H>O7-W=.;FV2.S7S I \U N[
M)1&( /7#C(&*[@^+=-BU.2PN4O;62.$SM+/9R)#L";V/F8V<#KSU!'6A=/Z[
M?Y(.K_KO_FROJD4FK>*--T\Q$6MF!?W+8^5G'$29[\Y;_@(KI:J:;JFGZQ:"
M[TR^M[RW)QYMO*'7/ID=^>E6Z.@!1110 C*KJ58 J1@@C@BN$TLMX"\11Z#,
M3_PCNIRDZ7*QXM9SR;8G^ZW)3\5YKO*S]<T6R\0Z-<Z7J$9>WG7!*G#(>H93
MV8'!!]10!H45R?A'6KT7-QX8UY\ZWIZAEF(P+VWSA9E]^S#LWUKK* "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **R=9\16.ASV5O<"XENKURE
MO;VT+2.^,;C@=%7())P *P=8AENM*U!_'&HV>FZ-YRF*&TNGC+1KNRLLG!;>
M,?(H'3O0!4\<>(TOKA_!^D7,IU-U,M^;>3RVMK=5WG,A^5&?Y5!/3?GTST'A
M+5IM0TM[34'4ZMITAM;Y1U+KTDQZ.N''^][5XS\19[+Q5 5\->&+Y)+33\C5
M)6>!/L:;OE$1Y9&Y"E@"2.,@&O3_ (;Z5I.DZ9=06MG<6NKJR1ZJMS(7E:4
MX8MT*D$E2N 0?8@ ';4444 %%%% !1110 5S)\ ^'#JFH:@;$^=?QM'-B1E&
M&R'*X/REL\D?XUTU%%@.8@^'OAFWTI]-CL9?LC,CA&NI6*,N=I0ELKC)^Z14
M\O@GPY,U@7TN/_0$5+<!F 55.0" <, 1GYL\\UT%%%^H!6=H?_(,_P"V\_\
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
M% !12$A022 !R2:YA_$MUKL49\'"ROHA<F"YO;AG$,(7!.T  RDYP-IQGJ:
M-77==L?#NG?;;XRE"XCCCAC,DDLA^ZB*.2QQ6;)IFJ>(9[R/6'AB\/W%NJ16
M,6])VSM8F5P05(P5VKD$$Y)J_I/AZSTB]O[V.2YN+R^DWSSW,I=L G:B]E5<
MD  ?G6M0!7L;&TTRQALK&WCM[6%=L<42[54>PJQ110 4444 %%%9VMZS;Z'I
M_P!JG265FD6&&"$ R32,<*B@D#)/J0!R3P* -&BN=L/$MVVJ6^G:UHLVESW8
M;[*_GI-'*5&XIN7[KX!.",$ X)Q714 %%%% !1110!CZSX?AU2"9K>XFTV_D
M"XO[/"3?+RH8X^9?]D\&JG]NWFCWCVVN6NS3H+99/[;\Q!$Y"@/YB<>42Q.!
MR#ZUT=-DC26-HY$5T<%65AD$'J"* $AFBN(4F@D26*10R.C!E8'H01U%/KGO
M^$=N-,O+*70+T6.GVZ,DFE"%3!*"6;Y>AC;<QY&1TXJ32/$J7D44>JVCZ-J$
MDK0K9WDBAI64 DQ$'$B_,.5_2@#G]0AF^'VK7&MV43R>&KR3S-2M8QDV<AZW
M$:C^ _QJ.GWAW%=S!/#=6\=Q;RI+#*H>.1&RK*1D$'N*>RJZE6 92,$$9!%<
M"\=S\-;F2:"*2X\'S.7DA0%GTMB<EE'4PD\D#E>HXS0!W]%16]S!>6T5S;3)
M-!*H>.2-@RLIZ$$=16)K%_J5GXDT.&*6 6%W.T,J%"78B)WSNS@#Y1VHZV Z
M"BN+TSQ)]N\0W'VO5+BUB2]DM+>U%KB&39D?-*4/SD@D ,. .*GT3Q%?:KXM
MGB)C&E26AFM%V_,P5]N\GT;D@>F/6A:V!Z7.MHKA]7US58I-;U&VO#%;Z/<Q
M0BU\M2LX(1G+$C=G#X&".G>H+;Q)J4GC==/>[<(;Z2$QF-/LQB"$@+)C<9<X
MRN?7C'-"U!Z'?T450UC6],\/Z>U]JU[%:6P(7?(?O,>BJ!RQ]ADT 7ZS=0U[
M3=,O;:QN+I/M]UG[-:J09)2 3P/3@\G ]ZSI;K7]8N;RTL[;^R]/, \C5'=7
ME=VVD%(2. !D?/@YQQ6*VM:?HETFCZ#:W'B7Q+#%Y,DSN'DC7<6_TBX(P@R2
M=O7L%H N7$6HZQI,6H>)KJ3PW:6TS326MM>A=\8V[1-* ,<[LA#@Y'-4X=9U
M7Q,AMO!=FFEZ2[%GUJXM]H<DY8P1'&\D_P ;8'7K5NT\%3ZI=QZEXSO$U6Z1
MM\-C&I6RMC_LH?OL/[SY^@KL@ !@# % &'X>\*:9X<662U22>]GYN;ZY?S)Y
MS_M.>WL, >E0>*=4U;1XHKNR:SDB,D<0M9(V,L[,X!",& 4X.>AZ'I71UA:G
MX;.HZS!J:ZO?VLL$9CC2(1,BYZL Z-ACTR.U'5!T,237-5\V355O"+6/6%T[
M[%Y:[3'Y@C+;L;MVXYZXQVK5L-4U;_A*Y=)O#9SQ"U^T%[:-D,!W85'RQW9&
M2#Q]T\5)_P (G9_VD;K[3=>2;D79M-R^49P/O_=SG(!QG&><4FE>&'TA[IH=
M;U&7[27=Q,L)^=OXMPC#$CMDD8XH6G]>7^>H/^OO_P M#(UW6M5CF\07=G>&
M"'0TC86_EJRW!*[VWDC(&" -I'/K5K3O$-_-XEDL[^>&TA:=X[:"33YD:90N
M05G+;&/4X [5<NO"%M>S-)/>WA$\<:7D:LH2[V="XVY'OM(R.*L-X>2;58;V
MZU"\N5MY3-;VTA01Q.01D;5#' )QDFA: ]39HHHH **** "BBB@ HHHH ***
M* "L[0_^09_VWG_]&O6C6=H?_(,_[;S_ /HUZ -&BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBL'7O%^D>'I([>YEDN-0F_U&GVB&6XE
M^B#M[G ]Z -ZN8UGQOI^GWQTK3X9M8UK_GPL0&9/>1_NQC/=C^!K/_LSQ7XM
M^;6+EO#VE-_RX6,H:ZE'I),.$^B>N,UT^C:%I?A^Q%EI-C#:0 Y*QKRQ]6/5
MC[DDT <P/"NL^*")?&-\J61Y&BZ>[+#CTFDX:4^PPN1WKL;2TMK"UCM;.WBM
M[>(;4BB0*JCT ' J:B@#GVO]2B\<P:?)) ;">SEF2-4.\,C1C);/^V> *R+#
MQ/K$MIJ'VAH?[2CM9IK?3CILT+EE)QAF;]Z.GW1W%;L_AXS^(X=9_M6^22%&
MC2!1%Y81BI9>4W<E0>N?2F1^&@+PWD^JZA<72PO#!+(8P8%;&=H5 ">!RP/2
MET^\?7[A/#.KS:G%<)=7L,UU$5WQ)8RVCQ CC<DC$G/.#P.*R-.\2-?:]<_:
M-4GM42]EM+:U^RX@D*9'S2E#\Q()P&' Z5M6WATVANITU.\>_N3&)+R41ERB
M'(0 *% Y8<#N:B?PA8RWK323W36S7#77V(LOE"4@@OTW=R<9QGG%-B6UC"\%
M^(]1U;5_(N[N20&T,LR31(B^9OQF J!OCQGYLGJO-=[6%I7A:VTJYMYQ=W=R
M;6 V]JL[*1!&<94;5!/W5Y;)XJ_JFL:;HEI]JU2^@M("P4/,X7)/0#U/L*;L
M+J7JR=2\0V5A<M81NMUJS0/-#I\3KYLH49[G SZG K/N)]=UYM2TZTM[C0K>
M-A'%JDFQY)<-AO+C[ C.'8]\[:U].T>STT!XHP]TT21S7D@!GG"  &1\98X'
M>D,R;?2=3UF;3=3UR>>QDMP7.E6ESF$ON.TR, "Y"X!7[N0>M=%##%;PI##&
MD42#:J(H55'H .E-N+F"SMWN+F:."%!EY)7"JH]R>!7.V?CW1-5U6/3](:ZU
M1F?9)<6=NSP0^[2\+CZ$T =/17.:S9>+-0U PZ;J]AI6F[0?.6V,]RS=QAB$
M4>^#4^@^&8M#EFN&U+4]1NYE"R3WUTTAP.<!1A5&<] * ,ZY^(_AY+F2UT^2
M[UB[C;:T&E6SW!!'7+ ;!^+5JVU_JVIZ!+<P:8=,OVW""#42&'^R7$;' /IG
M(K62-(EVQHJ+UPHP*=0!QW_"/>,K[G4/&:VJ/]^'2]/2/'L))"[?CBMO4?#M
MEJ^CP:9J,EW<0Q;27%R\3RE1C+M&5SG.2.F>W2M:D.<'&,]LT <G!\,?!MO<
M1SIHD;2QL'5I9I),$'(/S,:=XX\$6/C"R@>2VM7U"T<26SW"DHV#DQOCG:PX
M..1U'2I=&O=<OTURVEN[-;VTO!#%)]G9HU4QQO@KO!/WB,[A_2HM(U+Q!J-A
MJ4AO-+ @NFAAN_LKK&R(,.Q3S#G#9 ^8=":/^' P= ^'<=OXFL-6?0[+18K
MNZPVM]+<&>0J5!.X*JJ Q/0DGK@<'I=8T#7+C4'OM'\575@S  VLUM'/;\#L
MI 89[D-3;/7M2NO 4VM?9$:_6WFDBCC4[92N[:R@\X8 $#T-<XOB^[B:YM+/
M68M3:6&T,=SL3]Q)++Y; A0!QD$ \CH<T=;!TN==H+^)Q)-%XABTHJH!BN+!
MY!O]0R./E_[Z-)I'C#0=<NY;.RU!#>Q$A[296AF7'7Y' ;'OBH] N[T:OJ^D
MWETUW]B:)HIW15=E=<X;: ,@@] ."*M:YX8T7Q)"L>K:=#<E/]7(1MDC]U<8
M9?P- &M16));:CH'AI+?1XY=7N;?[J7]WB25=V2#(0>0#@9]!DU6T3QMI>KW
MG]FS";3-84?/IU^GER_5>SCW4F@#I**** "J.J:-INMVRV^IV,%W$K!U69 V
MUAT(]#[BKU% '-2VGB'13J5Y8W3ZXDKB2#3KIDA:(ELL$FQR,'A6'&!\U6+;
MQ5I<^H6VD7C_ &+5KF 2C3[D8?!&2H/W7(P<A2>E;M1S6\-S&4GB21"",.H(
MP00?T)'XT <5-H>K>"[B6^\*Q?;=(=C)<:&6P8R>6:V8_=/?RSP><8.*LVTN
ME^.YK/5--UZ\A>PDW&TC6)7@EPRD2(Z%E;!88/'IZU8_X0FWL-+%EX=U*_T1
M5F,Z_9Y/-3)&-I27<-O?:,#-9.N^!-3U?79=2COK*WF2 BUO+:%[>\20(  \
MBL5="PY!0\' % &]_P (KI[:D)VN9WA:X-XMD64Q>:1@OC&X]<XSC)Z4D7@S
M1+74&U+3+2"PNS;-;QR6T$:B//.\#;][^E?+MQ<^);>_^VK>QWMC9FY11;SE
M(980ZB8(J[2(V+C[H QG&-IQ[=9>(_&[*MPOAZ>WT*6S"V*:5#;W#("@V."9
M@"!P0-H!&!0!VMQX2M+J]>XEN[O9.T4EU;JRB.X>/&UF&W(/RC(! .!D5CSQ
M>';#4[A8M4NKZ:QE?43HUH5G=)"V"P15W_>?H3CGTK =-2U33X+34O"WB_66
MCE:7=>WD%FKL<<,L<BC:,< YQD^M;T'_  FTTDTFG>&_#VA-.VZ:6YN#/(['
M^(B)5!/U:@#7BO/$>JRZ9<V=G;Z9I\GSW<>H*6N@ Q^540[5RH!R6.,].*Y]
M=5\,^&KN:RM;C4/$^NRRB8P+)]LG5UR 2?N0A02/X< ]ZOGP)=:K_P C/XFU
M+5(S]ZT@Q9V[#T98_F;\6-=-I>CZ;HEH+32["WLX!_!!&$!]SCJ?<T <L=&\
M6>*03KM^-#TUNNG:9)NG<>DD_;Z(.G>NHTC1M-T'3TL=*LXK2V3D1QKC)]2>
MI/N>:O44 %%%% !1110 4444 %%8&J:Y?IK"Z/HNGQ7EZ(1<3O<3F*&!"2%W
M$*Q+,5;  _A))%3:%KDFJ27EG>V?V+4K%U6X@$GF+AAE'1\#<K#/4 Y!!'%
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
M7A1(V1=I*GDEV Q],FDQK<S]1T[PK8W%M;1>$[*]N[A&DCM[>QAW;!C+$M@
M<CJ>]:MSKFF:)+I.FO&8'O"L-O;QQC$8   ('"J.!Z5S^M:3J5[?VFJQZ=J.
MXV#VI@@O5@EADW JS%7 *]<X)[<&J]UX3\3-<:?>MJ5G=70N+5IR]J=T:QK\
MV&\P KN+-@*"2WM5+?YD]/D=AJNL1Z6UO%]GGNKFY8K#;P!=[X&2?F(  '<F
MLB7QUIJVJ7$-M>7""W:YF$:*#!&K%6+AF'((88&3P:75$U"75]-UBVTN>7["
M]Q!);;XU=T8 "1<MMQE1U(.#7)W?@S5);=%N=.>YD,$LD'V69%^SW$DS2$2%
MB-Z#*#'S#@_+TJ5_7]?U\BOZ_K^OO/48Y%EC61#E6 8'V-.J*U69;2%;EE:<
M1J)"@P"V.<>V:EJGN2MM0HHHI#"BFNZ11M)(ZHBC+,QP /4FLS5-=33])CO[
M2RN]565@L4>G()2^<X.<@!>/O$XH U:KWM_9Z;:M<W]W!:VZ_>EGD"*/Q/%<
MU9R>.-6O8)KF'3=!T]9%9[<G[7<R*#RI881 ?4;B*UM0\+:'JVK0ZGJ.F6]W
M=PQ^7&UP-ZH,D\*?E!R3SC- $&A^,-)\27DL&D-<W,,:%C=BV=;<G(&U9" &
M;G/&>*H7FG>-=5O)HVUK3]&T\.1']A@,]PZ9XW/)A5./13CUKK  JA5   P
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
MELH_8@-EV'_ :%H#U(+?0]5$MMI4ED5M;?5WU#[;YB[7C+M(JA<[MV6 .1C
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
M0 4444 %%%% !6=H?_(,_P"V\_\ Z->M&L[0_P#D&?\ ;>?_ -&O0!HT444
M%%,FFBMX7FFD2*)!N=W8*JCU)/2N/G^($=_*]MX3TV?7IE.UKB,^59QG_:G;
M@_1=V: .SKE=2\?:3;7CZ=I:3ZWJB\&TTU?,*'_IH_W$&>NXY]JY.4S^)'U*
M'6-9N-<N;' FT#0 T%N&W!=CS,09"#R06&,'Y>*V="N2=2TW2=(N] T2&&'S
MKO1K79/<;@V&4LI"@8*Y;!.<T -U"+Q%?VC7OBK7[;PMI'>VL9P)2/1[EN >
M.B#GUJUHBZ-H=W-IOA;PU<O(]OY_]H>7M@G8IO0-<L2S[LCD;L9]JRUT^_M[
MBZT_3?"=WJ["Y#OJ7B2^5HS(N0KHIW-@ G!55X-=AI-MKLFFW,>OW=F;B;(3
M^S4>,0J1CAF))/?.!0!CW\6KR:3;3^)?$MKH 25FF&G2*B2+QM4RRC((P<D
M9S4L<>A:3;7'BC0-&?5;K4FR9K'$LDVXY^\[8"9'." ,=.*?8_#OPO97 NI=
M-%_>=[K49&NI"?7,A.#],5U"JJ*%4!5 P !@ 4 <C#=>/=4GC8:?I&AVNX;Q
M<S-=SD9YP$VH/3[QK3U[PIIWB26$ZG)>26\:D&UCNI(H9,]W52-Q'O6Y10!E
M:1HFA:&3:Z1I]C9N$&Y+>-5<KV+8Y/3J:J-X+\-/J1U Z7"9O-\XC<WEF3KO
M,>=F[/.<9SS6-:W>A6WQ*U2..[LTDET]?/ E&YI [E@><Y"]NPK(TQ/#VLVG
MB273=1T_3]/O+18%AC=6VJ"P,\D8(QDL!S@X'/6ET^0=3T\$'H0: 03@$9KC
MO!VH6-M'>VT:Z1%:)<QQP7>GQ"""Z=UZ*,D%ATX)S69H(T[2_$TD%J^CZ@EP
M+J6ZN[:WV7%LNXOB5PQR.=O.T\#BGU#H>B @]"#2UPG@:;1+S6M3O]$GLH;6
M:.-([*WD7<0I;,SH#\I8L!SS@#/6N[I@%%%%( HK,USQ!I?ARQ^V:K>);Q$[
M4!Y:1O[J*.6/L!7,^5XG\:_Z\W'AK06_Y9*0+^Y7_:/2%3Z#+?3- &AK'C:V
MM=0?2-&M)M:UI?O6EJ0%A]YI#\L8^O/M5.+P9>Z],EYXUODOMK!X])MLI91$
M=-P/,I]VXZ\5TVCZ)IGA_3UL=*LXK6V4YV1C[Q]6/5C[G)J_0 V...&)(HD5
M(T 5448"@= !V%.HHH P=:T74M2U73;NUU"UMX[&4S+'):M(68JR'+"1>,-Z
M=:9J'AVZU75+:6]U")K*UN/M$44=OLEW8( ,F[[O/90?>NAHH Y:T\$VVDZI
M_:&DW,\3QV36T$,]Q--&ASD$AGY4?W?QJ36?"@UZ\A>_-@T*A-Y%D#,<')"R
M%CM4GMC..]=+10!S(\$:=%KMCJ=M+=PFVFEF:'[5*R.S]3@OA><D@#!KIJ**
M.E@\PHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "F2RI#$\LAVHBEF/H!3Z9*Q2)W6-I&520BXRWL,D#\Z //]&M4@\,1OI_
MB_Q#%IMF?L<<1L+=I%V'8%"_9RYZ=^:M1:7X%3P3!<S:=9:AI]C;K;"6YLU>
M9O+ 3:05#;\C&, YI^FR^(=,T'5?L_AZY^W2WTLT$<LT&"LCDYXDQ\HY()&>
M@--C\,ZA<Z)91VI>QDMI9IY8=1A28W$SY/F'RY<#EF(Y.,].!2=[-H:W^\K#
MP5X'CT :]9P7FE6Q@%R)[&[GA9$(SD*C=<=L&HX](>'3GU#3O&GB^W1'";;V
MV,Y)/3$<L.]NO;-;.FV-Y!X*M=!U73);QUTY4F$#+&K8POE@[\[L=\@<=15>
MT7Q'I6F:I-9Z=>3>9(@L;*[NUEEB&,.S.SD$9Y"[STZC/%2LF["6RN5],A\8
M7MDM]I7C33]2B+%=E]H_E\@X(;8ZD$$8(Q5L7/Q%M?FETWPW?J/X;>ZF@8_]
M](P_6M?PM:&QT187M+JVE\QWE^U&,O(['<SG8S#DD\9K:H8D<</$OC",_OO
M,K =3;ZK _Z-MH/CRXBXN?!?BF)N^RT24?FCG-=C12&<?_PLO08?^/\ M]9T
M\^EWI-POZA"*=#\4/!,SA/\ A(K.)CVGW1?^A@5UU,EABGC*31I(AZJZ@C]:
M ,J#Q;X:NB!;^(=)E)Z>7>QM_(UJQ313QB2&1)$/1D8$?F*RI_"7ANZ)-QX?
MTJ4GKYEE&W\Q65-\+_!,SE_^$=M(F/>WW0_^@$4 =;17'_\ "MM&A_Y!]]KF
MG>UIJTX'Y,Q%(/ ^H6_S6/C?Q)$XZ?:)8;A?R>/^M &WJ7BC0-&N1;:GK6GV
M4Y4.(KBY1&VG(!P3G'!_*IM+U[2-<65M)U2SOA$0)#;3K)LSTS@\9P?RKS"6
M75O#OCG4TU#X@V-K,]I:L)=0TZ,"X4--\H"LF-O/(Z[O:NM\+ZI8:SXW\27F
MFW<-W;&VLD\V%PR[AYV1D=^10!V5%%% !1110 4444 %%%>1:!>SQ?%;5[;^
MT7N[B\$JVTZ7#/%$1O(26$XQMQ@8]/\ :H6KL'2YZ[17D":CJHT2*RO]<N]L
MWB::SNKY93$PC4,0%(/R D 8'TK&;Q1KD^F65U-J]W%<VNGP36J++M%V[71C
M)<?QY0+Q[YII7=O3]/\ ,'I_7K_D>\5G:'_R#/\ MO/_ .C7K@?C7K&H:1X>
MTMK#5+G3&ENGWS0.5+;878(2/[S #]>U>'>&?'?C:TUNWM[;7;T$F48O3-/$
M"0VYBBAF..3P#R,D=:0'UKJ6J6&CV3WFI7D%I;)]Z6>0(OTR>_M7F/B+XUVL
M%E--X>LQ<PQR"%K^[!2)7(R (Q\[< \G:OO6%H&D^#];N1?^+O'W]IZX P3S
M+EK1(<C V)(%(8$DC  Z?+QD^B>'?AWX&TN".?2M(L;G ^6XE/V@Y]0S$@'Z
M8H XB^T;Q#JJQZIJ=K/XFM+B%6L61T,0DDCW)(MJ"(PBG@F1VSQZUJZ9X-\4
MZNFDIXBM=+%K8S^:$NW,\F,J2JQP[(5'RX&=^WFO5    !@"B@# UOP=I7B*
MZCDU0W<T")M^QK=/' QR3N9%(#-SU-7]+T/2=$A\G2M-M+),8(MX53/UP.?Q
MK0HH **** "BBB@ HHHH 3:,YP,T;5'8?E2T4 -*(P *J0#D9'0^M+@#L*6B
M@! H'0 4M%<IJ7CRQAOGTO1;:;7=67AK:QP4B/\ TUE/R1CZG/M0!U,DB11M
M)(ZHB LS,<  =237&3^,[W7II++P39)?%6*2:K<96RA(Z[2.96]EXZ<TD?A#
M4O$DBW7C6\2>$$-'HUFQ6U3T\P_>F/3KA<YXKLX88K:%(8(DBBC4*B(H55 Z
M  =!0!SFB>"[73K_ /M?4[F76-<(P;^Z _=C^[$@^6-?8<\\DUTU%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444C8VG
M<<+CGG% #8YHI2XCD1RC;7VMG:?0^E)'/%+%YD<J/'R-RL"..O-<1X3N?#QD
M\56EO=V/V(79D98YEV^5Y,89B0>F<Y/KFL[1KC[9X).FZ'"+V!M1N([J.QFB
M#Q6YFD( #,H&X8 YZ'(I?Y(/\STF&:*XB66&1)(V&5=#D'Z&HWO+6/SM]Q$O
MD#=+EP/+'7+>GXUR/@O4#:> [.)+0Q7FV<6EG+(BM,59B N&(QV]JYBVL;DW
M.OPW]O)I\[P65W<W-_)$(GE65W(<J[85ONCK@#GMEO>W]=/\PZ?UYGJMG?6F
MH6XN+*YAN822!)"X=2?J*GKDO!;7%U=Z[J+QVZ6]W=(T7V:0O$^V-59E8JNX
M$CKCG%=;3$%%%%(84444 %4(-%TRVU6XU2"Q@COKA0LLZH S@>I_'^7I5^B@
M"E+HVESVDUK+IUH]O/(998FA4H[DY+$8P3GO1)H^F3/:O)IUH[VG_'NS0J3#
M_N<?+^%7:* .=\8>"]+\;:?;V>J/=1I;SB>-[:38P8 CJ0?6N:\'?##1M*U6
MT\0K?:K=7]J]Q'$;JY#J 7D4\;>^YCUZL37H]<5YM[;ZIX>:*^E2VGU"YADM
ME "MQ.V2<9/*COBCK8.AUE[IUCJ4?EWUG;W48_AGB5Q^1%<Y<?#/P?/,9H]$
MBM)CTDL7>V(/J/+*UCW5_>JMQK:WES]IAUP62VXE;RC#Y@CV>7]TD@ELXS[U
M-X>NKP77A>\:^N9WUFVEDNXY)69-VP."JGA,'Y>,=>:%K_7E<'H7/^$+U>QY
MT;QMK4'JE^([U,?\# 8?]]4>9\0]-Y>WT'6HEX_=/)9S/[X.],_B*I>(;N\>
M7Q1>I?7,$NC1Q-:1Q2LJ$[-Y+*.'W$[><].*CMKZ]D-CK1O;G[3<:X]E);F5
MO*\G>Z;?+^Z" H;.,^]"U_KOL#T-'_A.KRR^76?!^O6;#EGMX5O(@/7=$2?_
M !VK5E\1_!]]*88]?M(91_RSNB;=ORD"FNHJM>Z=8ZE%Y5]9V]U'_<GB5Q^1
M% $L,\-S"LL$J2Q-RKHP8'Z$5)7(S?#/PF\S3VNF'3K@\B73IY+4J?4"-@/T
MIG_"%:K:#.F>.->A/I>>5=K_ ./IG]: .QHKCO[-^(-D/]'\0Z+J(]+W3GA(
M_&-_Z4?:?B-",OIGAFY'I%>SQD_]]1D4 =C17'_V[XY7@^";-CZKK:X/YQ4?
MVUX[D&$\&Z?"?[TNL@C\EBH ZV65((7FE8+&BEF8] !R37,#XD>%#%YHU*0Q
ME=V_['/C'KG9TK.U3_A8UUI-XIM_#5O&\#@HKSSR$;3P.%&?2N)@U"ZG\&1V
M5[XUU*(+IXB%A9:&\1#"/ C,C(Q//!(QGVH ]EDU;3H=-CU&>^MX;*1%=9YI
M B%2,@Y..U<P_P 0H=18Q>%=(OM>DSCSHE\FU4^\SX'_ 'R&JOX6^'?AV'1M
M+O;_ $LWNH?9(B\FI,T[(VP9 5R0N.@  QBNZ5510JJ%51@ #  H XL^%=?\
M1<^+-:\NT;KI6D%HHF'I)*?WC@]P-HKJM,TJPT:Q2RTVS@M+9/NQ0H%'UXZG
MWJW10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 )M4= /RH  Z "EHH :44LK%02O0XZ4[ /:BB@ QCI
M1110 4444 %%%% !1110 4444 %<S:>'=/U:&WO+L71FM[B8Q&.[EC"'S'&0
MJL!G!(SCH:Z:L[0_^09_VWG_ /1KT 1_\(WI1U7^TOLQ^TF3S3^\;87QC?LS
MMW8XW8S4<'A72+1IVMH)(6EC>(,L[_NE;EA'S^[R>?EQ6S10!D7/AG2;R[CN
M;BW:255123*X$@0Y7>H.'P>FX&G1^'-*BU4ZDEL1<&0R_P"L8H'(P7"9VAB/
MX@,UJT4 %%%% !1110 4444 %%%% !1110!SOC6YN+?04^R22">2YBC6*)RD
MDX+#,:L.5) //&/4=:Y.RN[^XM[>.^EUA;".>Z2XBMWEDN+:3Y3%&[IEV 4L
M<Y(.1DD5Z'J.F6FJVPM[R(N@<.I5RC(PZ,K*00?<&J)\+:4;06PCN%BWL[[;
MN53*S8R7(;+YP/O9I6W'V,6+5KZ?X3IJ,MX;>^>QR+AU.2YX4X SD\=!U-<\
MFKZK#%+IY35+:6YU"WA-BUSYMS#$T;,2LK-CYRA ^;CGH>GH=QH6GW49AFA+
M6QM_L_V<.1&$R",*#@$8&#U%5AX4T<6TL!MY7\UU=I7N)&EW+]TB0MN&.V#Q
MDU3W;%TL/\-W=K=:6RVJWB>1,\,D=Y*9)8W4\J6+-G\S6O573].M=+M!;6<7
MEQ;BQRQ8LQ.223DDD]SS5JAB04444AA1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !6=H?_ "#/^V\__HUZT:SM#_Y!G_;>?_T:] &C1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !116=X@9E\.ZDR7@LG%M)MN3TB.T_-QZ=:3=E<:5W8T:*
M\,T&YN;WP;<:-;:ZVEW@U)!)=R7\DD4@8N<1."&&[;R"1Z]ZB;Q-JLFGVLZ:
MG>V\MG8PRVL7VIF%W*;HQN26YD! & <X!JDM;>A-]+GO%9VA_P#(,_[;S_\
MHUZN3S&&W:4122D ?)& 6/TR15'P^V_2%8JR[IICM;J/WK<&D,TZ*** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH *1T5T9'4,K#!!&012T4 94'AG0[;3'TV+2;,6,CF1
M[<PJ49B<Y(/7FIWT;2Y7M7DTZT9K3_CV+0J3#_N<?+^%7J* "L[0_P#D&?\
M;>?_ -&O6C6=H?\ R#/^V\__ *->@#1HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "L[0_\ D&?]MY__ $:]:-9VA_\ (,_[;S_^C7H T:*** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ K.T/_D&?]MY__1KUHUG:'_R#/^V\_P#Z
M->@#1HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH .E%<'\6S+_ ,(<%AOTMB9A
MNC>9HOM "L?+##H>X['&*XN^\3WLMO:W%EJ6HV@L].MY;.WDN=QN)3<F-PY'
M^MX&/H<T1U=O.P/0]PK.T/\ Y!G_ &WG_P#1KU=FE:* R+#)*PQ^[CQN/TR0
M/UK&TNYO+.P$,VDWK2>9(Y*F+'S.S#^/T- &[16=_:<__0(O_P#R%_\ %T?V
MG/\ ] B__P#(7_Q= &C16=_:<_\ T"+_ /\ (7_Q=']IS_\ 0(O_ /R%_P#%
MT :-%9W]IS_] B__ /(7_P 71_:<_P#T"+__ ,A?_%T :-%9W]IS_P#0(O\
M_P A?_%T?VG/_P! B_\ _(7_ ,70!HT5G?VG/_T"+_\ \A?_ !=']IS_ /0(
MO_\ R%_\70!HT5G?VG/_ - B_P#_ "%_\71_:<__ $"+_P#\A?\ Q= &C16=
M_:<__0(O_P#R%_\ %U"=1O\ [<&&E7GV;RR"O[K=OR,'[_3&: ->BL[^TY_^
M@1?_ /D+_P"+H_M.?_H$7_\ Y"_^+H T:*SO[3G_ .@1?_\ D+_XNC^TY_\
MH$7_ /Y"_P#BZ -&BL[^TY_^@1?_ /D+_P"+H_M.?_H$7_\ Y"_^+H T:*SO
M[3G_ .@1?_\ D+_XNC^TY_\ H$7_ /Y"_P#BZ -&BL[^TY_^@1?_ /D+_P"+
MH_M.?_H$7_\ Y"_^+H T:*SO[3G_ .@1?_\ D+_XNC^TY_\ H$7_ /Y"_P#B
MZ -&BL[^TY_^@1?_ /D+_P"+J"[U'4&M7%II5XD_&UG\K YY_C],T ;%%9W]
MIS_] B__ /(7_P 71_:<_P#T"+__ ,A?_%T :-%9W]IS_P#0(O\ _P A?_%T
M?VG/_P! B_\ _(7_ ,70!HT5G?VG/_T"+_\ \A?_ !=']IS_ /0(O_\ R%_\
M70!HT5G?VG/_ - B_P#_ "%_\71_:<__ $"+_P#\A?\ Q= &C16=_:<__0(O
M_P#R%_\ %T?VG/\ ] B__P#(7_Q= &C16=_:<_\ T"+_ /\ (7_Q=']IS_\
M0(O_ /R%_P#%T :-%9W]IS_] B__ /(7_P 71_:<_P#T"+__ ,A?_%T :-%9
M%MJ-^JR?:-*O6)D8IM\KA,_*#\_7%3?VG/\ ] B__P#(7_Q= &C16=_:<_\
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
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
EHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#_V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>8
<FILENAME>rgr-20231231_cal.xml
<DESCRIPTION>XBRL CALCULATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- Generated by CompSci Transform (tm) - http://www.compsciresources.com -->
<!-- Created: Wed Feb 21 15:51:54 UTC 2024 -->
<linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ConsolidatedBalanceSheet" roleURI="http://ruger.com/role/ConsolidatedBalanceSheet"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ConsolidatedIncomeStatement" roleURI="http://ruger.com/role/ConsolidatedIncomeStatement"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ConsolidatedCashFlow" roleURI="http://ruger.com/role/ConsolidatedCashFlow"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofTradeReceivablesTable" roleURI="http://ruger.com/role/ScheduleofTradeReceivablesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofOtherAssetsTable" roleURI="http://ruger.com/role/ScheduleofOtherAssetsTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofTradeAccountsPayableandAccruedExpensesTable" roleURI="http://ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofEffectiveIncomeTaxRateReconciliationTable" roleURI="http://ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofDeferredTaxAssetsandLiabilitiesTable" roleURI="http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"/>
  <calculationLink xlink:type="extended" xlink:role="http://ruger.com/role/ConsolidatedBalanceSheet">
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryGross"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryGross" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryLIFOReserve" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryLIFOReserve"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryLIFOReserve" order="2" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryValuationReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserves"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryValuationReserves" order="3" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShortTermInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_ShortTermInvestments" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="3" weight="1"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_InventoryNet" order="4" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="5" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="2" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent" order="1" weight="1"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OtherAssetsNoncurrent" order="4" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_DividendsPayableCurrent" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="rgr_ProductLiabilityCurrent" xlink:href="rgr-20231231.xsd#rgr_ProductLiabilityCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="rgr_ProductLiabilityCurrent" order="4" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedEmployeeBenefitsCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent" order="5" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WorkersCompensationLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WorkersCompensationLiabilityCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_WorkersCompensationLiabilityCurrent" order="6" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TaxesPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_TaxesPayableCurrent" order="7" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_CommonStockValue" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonValue"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_TreasuryStockCommonValue" order="4" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesCurrent" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="rgr_EmployeeCompensation" xlink:href="rgr-20231231.xsd#rgr_EmployeeCompensation"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="rgr_EmployeeCompensation" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="rgr_ProductLiabilityAccrualNoncurrent" xlink:href="rgr-20231231.xsd#rgr_ProductLiabilityAccrualNoncurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="rgr_ProductLiabilityAccrualNoncurrent" order="4" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_CommitmentsAndContingencies" order="5" weight="1"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity" order="6" weight="1"/>
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://ruger.com/role/ConsolidatedIncomeStatement">
    <loc xlink:type="locator" xlink:label="us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_Revenues" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_CostOfGoodsAndServicesSold" order="2" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SellingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingExpense"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_SellingExpense" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_GeneralAndAdministrativeExpense" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherOperatingIncomeExpenseNet"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet" order="3" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_GrossProfit" order="1" weight="1"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingExpenses" order="2" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RoyaltyIncomeNonoperating" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RoyaltyIncomeNonoperating"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_RoyaltyIncomeNonoperating" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentIncomeInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeInterest"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_InvestmentIncomeInterest" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InterestExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_InterestExpense" order="4" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_OperatingIncomeLoss" order="1" weight="1"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_NonoperatingIncomeExpense" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="2" weight="-1"/>
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://ruger.com/role/ConsolidatedCashFlow">
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
<!-- [WMV5][XcpuxYn59dz7vgYynUDuwG7r97K2jUTysl7vcz0lJt/tSeJz73kx1cLt0ZFF2SK/vxBCY0vdSrae3Q64+IQnmb2USxqPYGfVI2tDrLdUwwGN7MqrQdhG+SCWYUh6Hp+V8bA/AEnE3cNkyoG64Ll76mKBykPxsq7UZToAehnDUkdsoUl/OXPyniSyg2keWK/5oF8+flNxqJpCbuMe90w6AkYj4WWoTfEFqinw/xNg0k5K9t6nNzB5aibP7T0iIrB1Y5tUryAKpwZbGt1M0V4MUlC9u5nYWVmJ] CSR-->
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetIncomeLoss" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DepreciationDepletionAndAmortization" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ShareBasedCompensation" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredOtherTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredOtherTaxExpenseBenefit"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DeferredOtherTaxExpenseBenefit" order="4" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" order="5" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" order="6" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" order="7" weight="1"/>
    <loc xlink:type="locator" xlink:label="rgr_IncreaseDecreaseInProductLiability" xlink:href="rgr-20231231.xsd#rgr_IncreaseDecreaseInProductLiability"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="rgr_IncreaseDecreaseInProductLiability" order="8" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" order="9" weight="1"/>
    <loc xlink:type="locator" xlink:label="rgr_ExcessAndObsolescenceInventoryReserves" xlink:href="rgr-20231231.xsd#rgr_ExcessAndObsolescenceInventoryReserves"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="rgr_ExcessAndObsolescenceInventoryReserves" order="10" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" order="11" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" order="12" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInInventories" order="13" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" order="14" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" order="3" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquireInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireInvestments"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireInvestments" order="4" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsOfDividendsCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDividendsCommonStock"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsOfDividendsCommonStock" order="1" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" order="2" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" order="3" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" order="1" weight="1"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" order="2" weight="1"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" order="3" weight="1"/>
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofTradeReceivablesTable">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableGrossCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableGrossCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" order="2" weight="-1"/>
    <loc xlink:type="locator" xlink:label="rgr_AllowanceForDiscountsAccountsReceivableCurrent" xlink:href="rgr-20231231.xsd#rgr_AllowanceForDiscountsAccountsReceivableCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="rgr_AllowanceForDiscountsAccountsReceivableCurrent" order="3" weight="-1"/>
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofOtherAssetsTable">
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedPatentsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedPatentsGross"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_FiniteLivedPatentsGross" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepositAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepositAssets"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_DepositAssets" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedTradeNamesGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedTradeNamesGross"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_FiniteLivedTradeNamesGross" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsMiscellaneous" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMiscellaneous"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsMiscellaneous" order="4" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" order="5" weight="-1"/>
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableTradeCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableTradeCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableTradeCurrent" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedIncomeTaxesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedIncomeTaxesCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedIncomeTaxesCurrent" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAccountsPayableAndAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccountsPayableAndAccruedLiabilities"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccountsPayableAndAccruedLiabilities" order="3" weight="1"/>
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable">
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" order="4" weight="-1"/>
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable">
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsInventory" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInventory"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsInventory" order="4" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" order="5" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsOther" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsOther" order="6" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesOther" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesOther"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilitiesOther" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsNet" order="1" weight="1"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" order="2" weight="-1"/>
  </calculationLink>
</linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>9
<FILENAME>rgr-20231231_def.xml
<DESCRIPTION>XBRL DEFINITION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- Generated by CompSci Transform (tm) - http://www.compsciresources.com -->
<!-- Created: Wed Feb 21 15:51:54 UTC 2024 -->
<linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:xbrldt="http://xbrl.org/2005/xbrldt">
  <roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#IndividualsOnly" roleURI="http://xbrl.sec.gov/ecd/role/IndividualsOnly"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ConsolidatedBalanceSheet" roleURI="http://ruger.com/role/ConsolidatedBalanceSheet"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ConsolidatedBalanceSheet_Parentheticals" roleURI="http://ruger.com/role/ConsolidatedBalanceSheet_Parentheticals"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ConsolidatedIncomeStatement" roleURI="http://ruger.com/role/ConsolidatedIncomeStatement"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ShareholdersEquityType2or3" roleURI="http://ruger.com/role/ShareholdersEquityType2or3"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ShareholdersEquityType2or3_Parentheticals" roleURI="http://ruger.com/role/ShareholdersEquityType2or3_Parentheticals"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ConsolidatedCashFlow" roleURI="http://ruger.com/role/ConsolidatedCashFlow"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_SummaryofSignificantAccountingPolicies" roleURI="http://ruger.com/role/SummaryofSignificantAccountingPolicies"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_RevenueRecognitionandContractswithCustomers" roleURI="http://ruger.com/role/RevenueRecognitionandContractswithCustomers"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_TradeReceivablesNet" roleURI="http://ruger.com/role/TradeReceivablesNet"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_Inventories" roleURI="http://ruger.com/role/Inventories"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_PropertyPlantandEquipment" roleURI="http://ruger.com/role/PropertyPlantandEquipment"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_OtherAssets" roleURI="http://ruger.com/role/OtherAssets"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_LeasedAssets" roleURI="http://ruger.com/role/LeasedAssets"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_TradeAccountsPayableandAccruedExpenses" roleURI="http://ruger.com/role/TradeAccountsPayableandAccruedExpenses"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_AccruedDividends" roleURI="http://ruger.com/role/AccruedDividends"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_LineofCredit" roleURI="http://ruger.com/role/LineofCredit"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_EmployeeBenefitPlans" roleURI="http://ruger.com/role/EmployeeBenefitPlans"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_OtherOperatingIncomeNet" roleURI="http://ruger.com/role/OtherOperatingIncomeNet"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_IncomeTaxes" roleURI="http://ruger.com/role/IncomeTaxes"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_EarningsPerShare" roleURI="http://ruger.com/role/EarningsPerShare"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_StockRepurchases" roleURI="http://ruger.com/role/StockRepurchases"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_CompensationPlans" roleURI="http://ruger.com/role/CompensationPlans"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_OperatingSegmentInformation" roleURI="http://ruger.com/role/OperatingSegmentInformation"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_QuarterlyResultsofOperationsUnaudited" roleURI="http://ruger.com/role/QuarterlyResultsofOperationsUnaudited"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_RelatedPartyTransactions" roleURI="http://ruger.com/role/RelatedPartyTransactions"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ContingentLiabilities" roleURI="http://ruger.com/role/ContingentLiabilities"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_FinancialInstruments" roleURI="http://ruger.com/role/FinancialInstruments"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_SubsequentEvents" roleURI="http://ruger.com/role/SubsequentEvents"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_AccountingPoliciesByPolicy" roleURI="http://ruger.com/role/AccountingPoliciesByPolicy"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_RevenueRecognitionandContractswithCustomersTables" roleURI="http://ruger.com/role/RevenueRecognitionandContractswithCustomersTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_TradeReceivablesNetTables" roleURI="http://ruger.com/role/TradeReceivablesNetTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_InventoriesTables" roleURI="http://ruger.com/role/InventoriesTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_PropertyPlantandEquipmentTables" roleURI="http://ruger.com/role/PropertyPlantandEquipmentTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_OtherAssetsTables" roleURI="http://ruger.com/role/OtherAssetsTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_LeasedAssetsTables" roleURI="http://ruger.com/role/LeasedAssetsTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_TradeAccountsPayableandAccruedExpensesTables" roleURI="http://ruger.com/role/TradeAccountsPayableandAccruedExpensesTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_OtherOperatingIncomeNetTables" roleURI="http://ruger.com/role/OtherOperatingIncomeNetTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_IncomeTaxesTables" roleURI="http://ruger.com/role/IncomeTaxesTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_EarningsPerShareTables" roleURI="http://ruger.com/role/EarningsPerShareTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_StockRepurchasesTables" roleURI="http://ruger.com/role/StockRepurchasesTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_OperatingSegmentInformationTables" roleURI="http://ruger.com/role/OperatingSegmentInformationTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_QuarterlyResultsofOperationsUnauditedTables" roleURI="http://ruger.com/role/QuarterlyResultsofOperationsUnauditedTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ContingentLiabilitiesTables" roleURI="http://ruger.com/role/ContingentLiabilitiesTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofRevenueRecognizedTable" roleURI="http://ruger.com/role/ScheduleofRevenueRecognizedTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofTradeReceivablesTable" roleURI="http://ruger.com/role/ScheduleofTradeReceivablesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofInventoriesTable" roleURI="http://ruger.com/role/ScheduleofInventoriesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofPropertyPlantandEquipmentTable" roleURI="http://ruger.com/role/ScheduleofPropertyPlantandEquipmentTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofOtherAssetsTable" roleURI="http://ruger.com/role/ScheduleofOtherAssetsTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable" roleURI="http://ruger.com/role/ScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofOperatingLeaseLiabilitiesTable" roleURI="http://ruger.com/role/ScheduleofOperatingLeaseLiabilitiesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofTradeAccountsPayableandAccruedExpensesTable" roleURI="http://ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofOtherOperatingIncomeNetTable" roleURI="http://ruger.com/role/ScheduleofOtherOperatingIncomeNetTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofFederalandStateIncomeTaxProvisionTable" roleURI="http://ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofEffectiveIncomeTaxRateReconciliationTable" roleURI="http://ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofDeferredTaxAssetsandLiabilitiesTable" roleURI="http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable" roleURI="http://ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofRepurchasedSharesofitsCommonStockTable" roleURI="http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofOperatingSegmentFinancialInformationTable" roleURI="http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofQuarterlyFinancialInformationTable" roleURI="http://ruger.com/role/ScheduleofQuarterlyFinancialInformationTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofRollForwardforProductLiabilityReserveTable" roleURI="http://ruger.com/role/ScheduleofRollForwardforProductLiabilityReserveTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofProductLiabilityExpenseTable" roleURI="http://ruger.com/role/ScheduleofProductLiabilityExpenseTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_SummaryofSignificantAccountingPoliciesDetails" roleURI="http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_RevenueRecognitionandContractswithCustomersDetails" roleURI="http://ruger.com/role/RevenueRecognitionandContractswithCustomersDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_TradeReceivablesNetDetails" roleURI="http://ruger.com/role/TradeReceivablesNetDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_PropertyPlantandEquipmentDetails" roleURI="http://ruger.com/role/PropertyPlantandEquipmentDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_OtherAssetsDetails" roleURI="http://ruger.com/role/OtherAssetsDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_LeasedAssetsDetails" roleURI="http://ruger.com/role/LeasedAssetsDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_AccruedDividendsDetails" roleURI="http://ruger.com/role/AccruedDividendsDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_LineofCreditDetails" roleURI="http://ruger.com/role/LineofCreditDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_EmployeeBenefitPlansDetails" roleURI="http://ruger.com/role/EmployeeBenefitPlansDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_IncomeTaxesDetails" roleURI="http://ruger.com/role/IncomeTaxesDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_StockRepurchasesDetails" roleURI="http://ruger.com/role/StockRepurchasesDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_CompensationPlansDetails" roleURI="http://ruger.com/role/CompensationPlansDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_OperatingSegmentInformationDetails" roleURI="http://ruger.com/role/OperatingSegmentInformationDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_RelatedPartyTransactionsDetails" roleURI="http://ruger.com/role/RelatedPartyTransactionsDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ContingentLiabilitiesDetails" roleURI="http://ruger.com/role/ContingentLiabilitiesDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_SubsequentEventsDetails" roleURI="http://ruger.com/role/SubsequentEventsDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#DocumentAndEntityInformation" roleURI="http://ruger.com/role/DocumentAndEntityInformation"/>
  <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"/>
  <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"/>
  <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"/>
  <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"/>
  <arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" arcroleURI="http://xbrl.org/int/dim/arcrole/all"/>
  <definitionLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/IndividualsOnly">
    <loc xlink:type="locator" xlink:label="ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember"/>
    <loc xlink:type="locator" xlink:label="rgr_ChristopherJKilloyMember" xlink:href="rgr-20231231.xsd#rgr_ChristopherJKilloyMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ecd_AllIndividualsMember" xlink:to="rgr_ChristopherJKilloyMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_JophnACosentinoJrMember" xlink:href="rgr-20231231.xsd#rgr_JophnACosentinoJrMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ecd_AllIndividualsMember" xlink:to="rgr_JophnACosentinoJrMember" order="4" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ConsolidatedBalanceSheet">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ClassOfStockDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ClassOfStockDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NonvotingCommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonvotingCommonStockMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_NonvotingCommonStockMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_CommonStockMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsCurrentAbstract" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShortTermInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_ShortTermInvestments" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryGross"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryGross" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryLIFOReserve" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryLIFOReserve"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryLIFOReserve" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryValuationReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserves"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryValuationReserves" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryNet" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_OtherAssetsNoncurrent" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_Assets" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesCurrentAbstract" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DividendsPayableCurrent" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ProductLiabilityCurrent" xlink:href="rgr-20231231.xsd#rgr_ProductLiabilityCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="rgr_ProductLiabilityCurrent" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedEmployeeBenefitsCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WorkersCompensationLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WorkersCompensationLiabilityCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_WorkersCompensationLiabilityCurrent" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TaxesPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_TaxesPayableCurrent" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_EmployeeCompensation" xlink:href="rgr-20231231.xsd#rgr_EmployeeCompensation"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgr_EmployeeCompensation" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ProductLiabilityAccrualNoncurrent" xlink:href="rgr-20231231.xsd#rgr_ProductLiabilityAccrualNoncurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgr_ProductLiabilityAccrualNoncurrent" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommitmentsAndContingencies" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityAbstract" order="9" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_TreasuryStockCommonValue" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquity" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" order="5" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ConsolidatedBalanceSheet_Parentheticals">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ClassOfStockDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ClassOfStockDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NonvotingCommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonvotingCommonStockMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_NonvotingCommonStockMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_CommonStockMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesAuthorized" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesIssued" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonShares" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockCommonShares" order="5" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ConsolidatedIncomeStatement">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductsAndServicesDomain_0" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_FirearmsMember" xlink:href="rgr-20231231.xsd#rgr_FirearmsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgr_FirearmsMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_UnaffiliatedCastingsMember" xlink:href="rgr-20231231.xsd#rgr_UnaffiliatedCastingsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgr_UnaffiliatedCastingsMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Revenues" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSold" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GrossProfit" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingExpensesAbstract" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SellingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_SellingExpense" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_GeneralAndAdministrativeExpense" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherOperatingIncomeExpenseNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingExpenses" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingIncomeLoss" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherIncomeAndExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherIncomeAndExpensesAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherIncomeAndExpensesAbstract" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RoyaltyIncomeNonoperating" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RoyaltyIncomeNonoperating"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_RoyaltyIncomeNonoperating" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentIncomeInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeInterest"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_InvestmentIncomeInterest" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InterestExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_InterestExpense" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NonoperatingIncomeExpense" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="9" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" order="11" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareBasic" order="12" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareDiluted" order="13" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="14" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="15" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockDividendsPerShareDeclared"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared" order="16" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ShareholdersEquityType2or3">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EquityComponentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EquityComponentDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RetainedEarningsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_TreasuryStockCommonMember" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsCommonStock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DividendsCommonStock" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_DividendsCommonStockUnpaid" xlink:href="rgr-20231231.xsd#rgr_DividendsCommonStockUnpaid"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgr_DividendsCommonStockUnpaid" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_DividendsCommonStockUnpaid" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ShareholdersEquityType2or3_Parentheticals">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ConsolidatedCashFlow">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLoss" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DepreciationDepletionAndAmortization" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ExcessAndObsolescenceInventoryReserves" xlink:href="rgr-20231231.xsd#rgr_ExcessAndObsolescenceInventoryReserves"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="rgr_ExcessAndObsolescenceInventoryReserves" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredOtherTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredOtherTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredOtherTaxExpenseBenefit" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_IncreaseDecreaseInProductLiability" xlink:href="rgr-20231231.xsd#rgr_IncreaseDecreaseInProductLiability"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="rgr_IncreaseDecreaseInProductLiability" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquireInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireInvestments"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireInvestments" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsOfDividendsCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDividendsCommonStock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfDividendsCommonStock" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="4" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/SummaryofSignificantAccountingPolicies">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/RevenueRecognitionandContractswithCustomers">
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/TradeReceivablesNet">
    <loc xlink:type="locator" xlink:label="rgr_TradeReceivablesNetLineItems" xlink:href="rgr-20231231.xsd#rgr_TradeReceivablesNetLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_TradeReceivablesNetTable" xlink:href="rgr-20231231.xsd#rgr_TradeReceivablesNetTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_TradeReceivablesNetLineItems" xlink:to="rgr_TradeReceivablesNetTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_TradeReceivablesNetLineItems" xlink:to="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/Inventories">
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/PropertyPlantandEquipment">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/OtherAssets">
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherAssetsAbstract" xlink:to="us-gaap_OtherAssetsDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/LeasedAssets">
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/TradeAccountsPayableandAccruedExpenses">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/AccruedDividends">
    <loc xlink:type="locator" xlink:label="rgr_AccruedDividendsLineItems" xlink:href="rgr-20231231.xsd#rgr_AccruedDividendsLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_AccruedDividendsTable" xlink:href="rgr-20231231.xsd#rgr_AccruedDividendsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_AccruedDividendsLineItems" xlink:to="rgr_AccruedDividendsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_AccruedDividendsLineItems" xlink:to="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/LineofCredit">
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAbstract"/>
    <loc xlink:type="locator" xlink:label="rgr_LineOfCreditFacilitiesTextBlock" xlink:href="rgr-20231231.xsd#rgr_LineOfCreditFacilitiesTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityAbstract" xlink:to="rgr_LineOfCreditFacilitiesTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/EmployeeBenefitPlans">
    <loc xlink:type="locator" xlink:label="rgr_EmployeeBenefitPlansLineItems" xlink:href="rgr-20231231.xsd#rgr_EmployeeBenefitPlansLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_EmployeeBenefitPlansTable" xlink:href="rgr-20231231.xsd#rgr_EmployeeBenefitPlansTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_EmployeeBenefitPlansLineItems" xlink:to="rgr_EmployeeBenefitPlansTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_EmployeeBenefitPlansLineItems" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/OtherOperatingIncomeNet">
    <loc xlink:type="locator" xlink:label="rgr_OtherOperatingIncomeNetLineItems" xlink:href="rgr-20231231.xsd#rgr_OtherOperatingIncomeNetLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_OtherOperatingIncomeNetTable" xlink:href="rgr-20231231.xsd#rgr_OtherOperatingIncomeNetTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_OtherOperatingIncomeNetLineItems" xlink:to="rgr_OtherOperatingIncomeNetTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_OtherOperatingIncomeNetLineItems" xlink:to="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/IncomeTaxes">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/EarningsPerShare">
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/StockRepurchases">
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract"/>
    <loc xlink:type="locator" xlink:label="rgr_StockRepurchasesTextBlock" xlink:href="rgr-20231231.xsd#rgr_StockRepurchasesTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract" xlink:to="rgr_StockRepurchasesTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/CompensationPlans">
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/OperatingSegmentInformation">
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/QuarterlyResultsofOperationsUnaudited">
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_QuarterlyFinancialInformationTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/RelatedPartyTransactions">
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ContingentLiabilities">
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LegalMattersAndContingenciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LegalMattersAndContingenciesTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingencyAbstract" xlink:to="us-gaap_LegalMattersAndContingenciesTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/FinancialInstruments">
    <loc xlink:type="locator" xlink:label="us-gaap_DerivativeInstrumentDetailAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentDetailAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FinancialInstrumentsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentsDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DerivativeInstrumentDetailAbstract" xlink:to="us-gaap_FinancialInstrumentsDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/SubsequentEvents">
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/AccountingPoliciesByPolicy">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <loc xlink:type="locator" xlink:label="rgr_OrganizationPolicyTextBlock" xlink:href="rgr-20231231.xsd#rgr_OrganizationPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="rgr_OrganizationPolicyTextBlock" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_PreparationOfFinancialStatementsPolicyTextBlock" xlink:href="rgr-20231231.xsd#rgr_PreparationOfFinancialStatementsPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="rgr_PreparationOfFinancialStatementsPolicyTextBlock" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConsolidationPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ConsolidationPolicyTextBlock" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_InventoryPolicyTextBlock" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" order="9" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_IncomeTaxPolicyTextBlock" order="11" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilityReserveEstimatePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilityReserveEstimatePolicy"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_LiabilityReserveEstimatePolicy" order="12" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingCostsPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock" order="13" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ShippingCostPolicyPolicyTextBlock" xlink:href="rgr-20231231.xsd#rgr_ShippingCostPolicyPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="rgr_ShippingCostPolicyPolicyTextBlock" order="14" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy" order="15" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock" order="16" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" order="17" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/RevenueRecognitionandContractswithCustomersTables">
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <loc xlink:type="locator" xlink:label="rgr_RevenueRecognitionMultipledeliverableArrangementsTableTextBlock" xlink:href="rgr-20231231.xsd#rgr_RevenueRecognitionMultipledeliverableArrangementsTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="rgr_RevenueRecognitionMultipledeliverableArrangementsTableTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/TradeReceivablesNetTables">
    <loc xlink:type="locator" xlink:label="rgr_TradeReceivablesNetTablesLineItems" xlink:href="rgr-20231231.xsd#rgr_TradeReceivablesNetTablesLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_TradeReceivablesNetTablesTable" xlink:href="rgr-20231231.xsd#rgr_TradeReceivablesNetTablesTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_TradeReceivablesNetTablesLineItems" xlink:to="rgr_TradeReceivablesNetTablesTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_TradeReceivablesNetTablesLineItems" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/InventoriesTables">
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/PropertyPlantandEquipmentTables">
    <loc xlink:type="locator" xlink:label="rgr_PropertyPlantandEquipmentTablesLineItems" xlink:href="rgr-20231231.xsd#rgr_PropertyPlantandEquipmentTablesLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_PropertyPlantandEquipmentTablesTable" xlink:href="rgr-20231231.xsd#rgr_PropertyPlantandEquipmentTablesTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_PropertyPlantandEquipmentTablesLineItems" xlink:to="rgr_PropertyPlantandEquipmentTablesTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_PropertyPlantandEquipmentTablesLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/OtherAssetsTables">
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfOtherAssetsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfOtherAssetsTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherAssetsAbstract" xlink:to="us-gaap_ScheduleOfOtherAssetsTableTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/LeasedAssetsTables">
    <loc xlink:type="locator" xlink:label="rgr_LeasedAssetsTablesLineItems" xlink:href="rgr-20231231.xsd#rgr_LeasedAssetsTablesLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_LeasedAssetsTablesTable" xlink:href="rgr-20231231.xsd#rgr_LeasedAssetsTablesTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_LeasedAssetsTablesLineItems" xlink:to="rgr_LeasedAssetsTablesTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfFutureMinimumLeasePaymentsTableTextBlock" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfFutureMinimumLeasePaymentsTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsTablesLineItems" xlink:to="rgr_ScheduleOfFutureMinimumLeasePaymentsTableTextBlock" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsTablesLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" order="2" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/TradeAccountsPayableandAccruedExpensesTables">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract" xlink:to="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/OtherOperatingIncomeNetTables">
    <loc xlink:type="locator" xlink:label="rgr_OtherOperatingIncomeNetTablesLineItems" xlink:href="rgr-20231231.xsd#rgr_OtherOperatingIncomeNetTablesLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_OtherOperatingIncomeNetTablesTable" xlink:href="rgr-20231231.xsd#rgr_OtherOperatingIncomeNetTablesTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_OtherOperatingIncomeNetTablesLineItems" xlink:to="rgr_OtherOperatingIncomeNetTablesTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_OtherIncomeAndExpensesTableTextBlock" xlink:href="rgr-20231231.xsd#rgr_OtherIncomeAndExpensesTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_OtherOperatingIncomeNetTablesLineItems" xlink:to="rgr_OtherIncomeAndExpensesTableTextBlock" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/IncomeTaxesTables">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FederalIncomeTaxNoteTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FederalIncomeTaxNoteTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_FederalIncomeTaxNoteTextBlock" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" order="2" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/EarningsPerShareTables">
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/StockRepurchasesTables">
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfTreasuryStockByClassTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfTreasuryStockByClassTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfTreasuryStockByClassTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/OperatingSegmentInformationTables">
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/QuarterlyResultsofOperationsUnauditedTables">
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ContingentLiabilitiesTables">
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingencyAbstract" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityContingenciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductLiabilityContingenciesTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingencyAbstract" xlink:to="us-gaap_ProductLiabilityContingenciesTextBlock" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofRevenueRecognizedTable">
    <loc xlink:type="locator" xlink:label="rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems" xlink:href="rgr-20231231.xsd#rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedTable" xlink:href="rgr-20231231.xsd#rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems" xlink:to="rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_StatementScenarioAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementScenarioAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedTable" xlink:to="srt_StatementScenarioAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioUnspecifiedDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ScenarioUnspecifiedDomain_0" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioUnspecifiedDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems" xlink:to="us-gaap_ContractWithCustomerLiability" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueRevenueRecognized1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems" xlink:to="us-gaap_DeferredRevenueRevenueRecognized1" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_RevenueDeferred" xlink:href="rgr-20231231.xsd#rgr_RevenueDeferred"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems" xlink:to="rgr_RevenueDeferred" order="3" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofTradeReceivablesTable">
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfTradeReceivablesAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfTradeReceivablesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableGrossCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableGrossCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfTradeReceivablesAbstract" xlink:to="us-gaap_AccountsReceivableGrossCurrent" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfTradeReceivablesAbstract" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_AllowanceForDiscountsAccountsReceivableCurrent" xlink:href="rgr-20231231.xsd#rgr_AllowanceForDiscountsAccountsReceivableCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfTradeReceivablesAbstract" xlink:to="rgr_AllowanceForDiscountsAccountsReceivableCurrent" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfTradeReceivablesAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="3" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofInventoriesTable">
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfInventoriesAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfInventoriesAbstract"/>
    <loc xlink:type="locator" xlink:label="rgr_InventoryAtFifoAbstract" xlink:href="rgr-20231231.xsd#rgr_InventoryAtFifoAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfInventoriesAbstract" xlink:to="rgr_InventoryAtFifoAbstract" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryFinishedGoods" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_InventoryAtFifoAbstract" xlink:to="us-gaap_InventoryFinishedGoods" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcessAndRawMaterials"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_InventoryAtFifoAbstract" xlink:to="us-gaap_InventoryWorkInProcessAndRawMaterials" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryGross"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfInventoriesAbstract" xlink:to="us-gaap_InventoryGross" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryLIFOReserve" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryLIFOReserve"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InventoryGross" xlink:to="us-gaap_InventoryLIFOReserve" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryValuationReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserves"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InventoryGross" xlink:to="us-gaap_InventoryValuationReserves" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfInventoriesAbstract" xlink:to="us-gaap_InventoryNet" order="2" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofPropertyPlantandEquipmentTable">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LandAndLandImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandAndLandImprovementsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LandAndLandImprovementsMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingAndBuildingImprovementsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ToolsDiesAndMoldsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ToolsDiesAndMoldsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ToolsDiesAndMoldsMember" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="3" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofOtherAssetsTable">
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfOtherAssetsAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfOtherAssetsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedPatentsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedPatentsGross"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfOtherAssetsAbstract" xlink:to="us-gaap_FiniteLivedPatentsGross" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedPatentsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepositAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepositAssets"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfOtherAssetsAbstract" xlink:to="us-gaap_DepositAssets" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedTradeNamesGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedTradeNamesGross"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfOtherAssetsAbstract" xlink:to="us-gaap_FiniteLivedTradeNamesGross" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsMiscellaneous" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMiscellaneous"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfOtherAssetsAbstract" xlink:to="us-gaap_OtherAssetsMiscellaneous" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfOtherAssetsAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" order="4" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable">
    <loc xlink:type="locator" xlink:label="rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems" xlink:href="rgr-20231231.xsd#rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable" xlink:href="rgr-20231231.xsd#rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems" xlink:to="rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable" xlink:to="us-gaap_AwardTypeAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_OtherAssetsMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_TradeAccountsPayableAndAccruedExpensesMember" xlink:href="rgr-20231231.xsd#rgr_TradeAccountsPayableAndAccruedExpensesMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgr_TradeAccountsPayableAndAccruedExpensesMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_LeaseLiabilitiesMember" xlink:href="rgr-20231231.xsd#rgr_LeaseLiabilitiesMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgr_LeaseLiabilitiesMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_TotalOperatingLeaseLiabilities" xlink:href="rgr-20231231.xsd#rgr_TotalOperatingLeaseLiabilities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems" xlink:to="rgr_TotalOperatingLeaseLiabilities" order="4" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofOperatingLeaseLiabilitiesTable">
    <loc xlink:type="locator" xlink:label="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:href="rgr-20231231.xsd#rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesTable" xlink:href="rgr-20231231.xsd#rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:to="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LeaseContractualTermAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseContractualTermAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesTable" xlink:to="us-gaap_LeaseContractualTermAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LeaseContractualTermDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseContractualTermDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LeaseContractualTermDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseContractualTermDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_OperatingLeaseMember" xlink:href="rgr-20231231.xsd#rgr_OperatingLeaseMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LeaseContractualTermDomain" xlink:to="rgr_OperatingLeaseMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" order="2" xbrldt:closed="true"/>
<!-- [WMV5][XcpuxYn59dz7vgYynUDuwG7r97K2jUTysl7vcz0lJt/tSeJz73kx1cLt0ZFF2SK/vxBCY0vdSrae3Q64+IQnmb2USxqPYGfVI2tDrLdUwwGN7MqrQdhG+SCWYUh6Hp+V8bA/AEnE3cNkyoG64Ll76mKBykPxsq7UZToAehnDUkdsoUl/OXPyniSyg2keWK/5oF8+flNxqJpCbuMe90w6AkYj4WWoTfEFqinw/xNg0k5K9t6nNzB5aibP7T0iIrB1t448bWEeUZHMemNZSTlYbnEHVKQVlyZI] CSR-->
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:to="us-gaap_OperatingLeaseLiability" order="9" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable">
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableTradeCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableTradeCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:to="us-gaap_AccountsPayableTradeCurrent" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedIncomeTaxesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedIncomeTaxesCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:to="us-gaap_AccruedIncomeTaxesCurrent" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAccountsPayableAndAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccountsPayableAndAccruedLiabilities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:to="us-gaap_OtherAccountsPayableAndAccruedLiabilities" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" order="3" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofOtherOperatingIncomeNetTable">
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfOtherOperatingIncomeNetAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfOtherOperatingIncomeNetAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GainLossOnSaleOfOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfOtherAssets"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfOtherOperatingIncomeNetAbstract" xlink:to="us-gaap_GainLossOnSaleOfOtherAssets" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable">
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" order="5" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable">
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" order="4" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable">
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNetAbstract"/>
    <loc xlink:type="locator" xlink:label="rgr_DeferredTaxAssetsAbstract" xlink:href="rgr-20231231.xsd#rgr_DeferredTaxAssetsAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="rgr_DeferredTaxAssetsAbstract" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_DeferredTaxAssetsAbstract" xlink:to="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_DeferredTaxAssetsAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_DeferredTaxAssetsAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsInventory" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInventory"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_DeferredTaxAssetsAbstract" xlink:to="us-gaap_DeferredTaxAssetsInventory" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_DeferredTaxAssetsAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsOther" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_DeferredTaxAssetsAbstract" xlink:to="us-gaap_DeferredTaxAssetsOther" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_DeferredTaxAssetsAbstract" xlink:to="us-gaap_DeferredTaxAssetsNet" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesOther" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesOther"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesOther" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet" order="3" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable">
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract"/>
    <loc xlink:type="locator" xlink:label="rgr_NumeratorAbstract" xlink:href="rgr-20231231.xsd#rgr_NumeratorAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract" xlink:to="rgr_NumeratorAbstract" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TemporaryEquityNetIncome" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TemporaryEquityNetIncome"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_NumeratorAbstract" xlink:to="us-gaap_TemporaryEquityNetIncome" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_DenominatorAbstract" xlink:href="rgr-20231231.xsd#rgr_DenominatorAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract" xlink:to="rgr_DenominatorAbstract" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_DenominatorAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_DenominatorAbstract" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_DenominatorAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="2" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable">
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ClassOfTreasuryStockTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfTreasuryStockTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems" xlink:to="us-gaap_ClassOfTreasuryStockTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfFourthQuarterEventsByTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ClassOfTreasuryStockTable" xlink:to="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectOfFourthQuarterEventsTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfFourthQuarterEventsTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:to="us-gaap_EffectOfFourthQuarterEventsTypeDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectOfFourthQuarterEventsTypeDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfFourthQuarterEventsTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:to="us-gaap_EffectOfFourthQuarterEventsTypeDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardDateAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardDateAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ClassOfTreasuryStockTable" xlink:to="us-gaap_AwardDateAxis" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardDateDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardDateDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardDateAxis" xlink:to="us-gaap_AwardDateDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardDateDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardDateDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardDateAxis" xlink:to="us-gaap_AwardDateDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ThirdQuarter2022Member" xlink:href="rgr-20231231.xsd#rgr_ThirdQuarter2022Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectOfFourthQuarterEventsTypeDomain" xlink:to="rgr_ThirdQuarter2022Member" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_FourthQuarter2022Member" xlink:href="rgr-20231231.xsd#rgr_FourthQuarter2022Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectOfFourthQuarterEventsTypeDomain" xlink:to="rgr_FourthQuarter2022Member" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_FourthQuarter2023Member" xlink:href="rgr-20231231.xsd#rgr_FourthQuarter2023Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectOfFourthQuarterEventsTypeDomain" xlink:to="rgr_FourthQuarter2023Member" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_JulyThreeToJulyThirtyMember" xlink:href="rgr-20231231.xsd#rgr_JulyThreeToJulyThirtyMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_JulyThreeToJulyThirtyMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_JulyThirtyoneToAugustTwentySevenMember" xlink:href="rgr-20231231.xsd#rgr_JulyThirtyoneToAugustTwentySevenMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_JulyThirtyoneToAugustTwentySevenMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_AugustTwentyEightToOctoberOneMember" xlink:href="rgr-20231231.xsd#rgr_AugustTwentyEightToOctoberOneMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_AugustTwentyEightToOctoberOneMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_OctoberTwoToOctoberTwentyNineMember" xlink:href="rgr-20231231.xsd#rgr_OctoberTwoToOctoberTwentyNineMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_OctoberTwoToOctoberTwentyNineMember" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_OctoberThirtyToNovemberTwentySevenMember" xlink:href="rgr-20231231.xsd#rgr_OctoberThirtyToNovemberTwentySevenMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_OctoberThirtyToNovemberTwentySevenMember" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_NovemberTwentySevenToDecemberThirtyOneMember" xlink:href="rgr-20231231.xsd#rgr_NovemberTwentySevenToDecemberThirtyOneMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_NovemberTwentySevenToDecemberThirtyOneMember" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_OctoberOneToOctoberTwentyEightMember" xlink:href="rgr-20231231.xsd#rgr_OctoberOneToOctoberTwentyEightMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_OctoberOneToOctoberTwentyEightMember" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_October29ToNovember25Member" xlink:href="rgr-20231231.xsd#rgr_October29ToNovember25Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_October29ToNovember25Member" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_November26ToDecember31Member" xlink:href="rgr-20231231.xsd#rgr_November26ToDecember31Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_November26ToDecember31Member" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockPreferredShares" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockPreferredShares"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems" xlink:to="us-gaap_TreasuryStockPreferredShares" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockAcquiredAverageCostPerShare"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems" xlink:to="us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram" xlink:href="rgr-20231231.xsd#rgr_MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems" xlink:to="rgr_MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram" order="4" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable">
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingInformationLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_ProductOrServiceAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductsAndServicesDomain_0" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_FirearmsMember" xlink:href="rgr-20231231.xsd#rgr_FirearmsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="rgr_FirearmsMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_UnaffiliatedCastingsMember" xlink:href="rgr-20231231.xsd#rgr_UnaffiliatedCastingsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="rgr_UnaffiliatedCastingsMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_IntersegmentMember" xlink:href="rgr-20231231.xsd#rgr_IntersegmentMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="rgr_IntersegmentMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_CastingsMember" xlink:href="rgr-20231231.xsd#rgr_CastingsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="rgr_CastingsMember" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_EliminationsMember" xlink:href="rgr-20231231.xsd#rgr_EliminationsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="rgr_EliminationsMember" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CorporateMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="us-gaap_CorporateMember" order="5" xbrldt:closed="true"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgr_CastingsMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_NetSalesAbstract" xlink:href="rgr-20231231.xsd#rgr_NetSalesAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="rgr_NetSalesAbstract" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_NetSalesAbstract" xlink:to="us-gaap_Revenues" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_CastingsAbstract" xlink:href="rgr-20231231.xsd#rgr_CastingsAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_NetSalesAbstract" xlink:to="rgr_CastingsAbstract" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_IncomeLossBeforeIncomeTaxesAbstract" xlink:href="rgr-20231231.xsd#rgr_IncomeLossBeforeIncomeTaxesAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="rgr_IncomeLossBeforeIncomeTaxesAbstract" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_IncomeLossBeforeIncomeTaxesAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_IdentifiableAssetsAbstract" xlink:href="rgr-20231231.xsd#rgr_IdentifiableAssetsAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="rgr_IdentifiableAssetsAbstract" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_IdentifiableAssetsAbstract" xlink:to="us-gaap_Assets" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_GoodwillAbstract" xlink:href="rgr-20231231.xsd#rgr_GoodwillAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="rgr_GoodwillAbstract" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Goodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_GoodwillAbstract" xlink:to="us-gaap_Goodwill" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepreciationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_DepreciationAbstract" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DepreciationAbstract" xlink:to="us-gaap_Depreciation" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_CapitalExpendituresAbstract" xlink:href="rgr-20231231.xsd#rgr_CapitalExpendituresAbstract"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="rgr_CapitalExpendituresAbstract" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentExpenditureAdditionToLongLivedAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentExpenditureAdditionToLongLivedAssets"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_CapitalExpendituresAbstract" xlink:to="us-gaap_SegmentExpenditureAdditionToLongLivedAssets" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofQuarterlyFinancialInformationTable">
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfQuarterlyFinancialInformationAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfQuarterlyFinancialInformationAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfQuarterlyFinancialInformationAbstract" xlink:to="us-gaap_Revenues" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfQuarterlyFinancialInformationAbstract" xlink:to="us-gaap_GrossProfit" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfQuarterlyFinancialInformationAbstract" xlink:to="us-gaap_NetIncomeLoss" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfQuarterlyFinancialInformationAbstract" xlink:to="us-gaap_EarningsPerShareBasic" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfQuarterlyFinancialInformationAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" order="4" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofRollForwardforProductLiabilityReserveTable">
    <loc xlink:type="locator" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyLiabilityLineItems"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductWarrantyLiabilityTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyLiabilityTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ProductWarrantyLiabilityTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ProductWarrantyLiabilityTable" xlink:to="srt_ProductOrServiceAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductsAndServicesDomain_0" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ProductLiabilityReserveMember" xlink:href="rgr-20231231.xsd#rgr_ProductLiabilityReserveMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgr_ProductLiabilityReserveMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ValuationAllowancesAndReservesLegalFees" xlink:href="rgr-20231231.xsd#rgr_ValuationAllowancesAndReservesLegalFees"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="rgr_ValuationAllowancesAndReservesLegalFees" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ValuationAllowancesAndReservesSettlements" xlink:href="rgr-20231231.xsd#rgr_ValuationAllowancesAndReservesSettlements"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="rgr_ValuationAllowancesAndReservesSettlements" order="4" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofProductLiabilityExpenseTable">
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityContingencyLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductLiabilityContingencyLineItems"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityContingencyTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductLiabilityContingencyTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ProductLiabilityContingencyLineItems" xlink:to="us-gaap_ProductLiabilityContingencyTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ProductLiabilityContingencyTable" xlink:to="srt_ProductOrServiceAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductsAndServicesDomain_0" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_AccruedLegalExpenseMember" xlink:href="rgr-20231231.xsd#rgr_AccruedLegalExpenseMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgr_AccruedLegalExpenseMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ProductInsurancePremiumExpenseMember" xlink:href="rgr-20231231.xsd#rgr_ProductInsurancePremiumExpenseMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgr_ProductInsurancePremiumExpenseMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_TotalProductLiabilityExpenseMember" xlink:href="rgr-20231231.xsd#rgr_TotalProductLiabilityExpenseMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgr_TotalProductLiabilityExpenseMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ProductLiabilityContingencyLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityAccrualPeriodExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductLiabilityAccrualPeriodExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ProductLiabilityContingencyLineItems" xlink:to="us-gaap_ProductLiabilityAccrualPeriodExpense" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityAccrualComponentAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductLiabilityAccrualComponentAmount"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ProductLiabilityContingencyLineItems" xlink:to="us-gaap_ProductLiabilityAccrualComponentAmount" order="3" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails">
    <loc xlink:type="locator" xlink:label="rgr_SummaryOfSignificantAccountingPoliciesLineItems" xlink:href="rgr-20231231.xsd#rgr_SummaryOfSignificantAccountingPoliciesLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_SummaryofSignificantAccountingPoliciesDetailsTable" xlink:href="rgr-20231231.xsd#rgr_SummaryofSignificantAccountingPoliciesDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgr_SummaryofSignificantAccountingPoliciesDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_SummaryofSignificantAccountingPoliciesDetailsTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_SummaryofSignificantAccountingPoliciesDetailsTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_SummaryofSignificantAccountingPoliciesDetailsTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_SummaryofSignificantAccountingPoliciesDetailsTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_FirearmsMember" xlink:href="rgr-20231231.xsd#rgr_FirearmsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="rgr_FirearmsMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ExportSalesMember" xlink:href="rgr-20231231.xsd#rgr_ExportSalesMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="rgr_ExportSalesMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_CastingsSalesMember" xlink:href="rgr-20231231.xsd#rgr_CastingsSalesMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="rgr_CastingsSalesMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SalesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_BuildingMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ToolsDiesAndMoldsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ToolsDiesAndMoldsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ToolsDiesAndMoldsMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationEffectOnEarningsPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationEffectOnEarningsPerShare"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_SharebasedCompensationEffectOnEarningsPerShare" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdvertisingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_AdvertisingExpense" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ShippingCosts" xlink:href="rgr-20231231.xsd#rgr_ShippingCosts"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgr_ShippingCosts" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ResearchAndDevelopmentExpense" order="6" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/RevenueRecognitionandContractswithCustomersDetails">
    <loc xlink:type="locator" xlink:label="rgr_RevenueRecognitionAndContractsWithCustomersLineItems" xlink:href="rgr-20231231.xsd#rgr_RevenueRecognitionAndContractsWithCustomersLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_RevenueRecognitionandContractswithCustomersDetailsTable" xlink:href="rgr-20231231.xsd#rgr_RevenueRecognitionandContractswithCustomersDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_RevenueRecognitionAndContractsWithCustomersLineItems" xlink:to="rgr_RevenueRecognitionandContractswithCustomersDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FinancialInstrumentAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_RevenueRecognitionandContractswithCustomersDetailsTable" xlink:to="us-gaap_FinancialInstrumentAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherDebtSecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherDebtSecuritiesMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_OtherDebtSecuritiesMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredRevenueAdditions" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueAdditions"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_RevenueRecognitionAndContractsWithCustomersLineItems" xlink:to="us-gaap_DeferredRevenueAdditions" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueRevenueRecognized1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_RevenueRecognitionAndContractsWithCustomersLineItems" xlink:to="us-gaap_DeferredRevenueRevenueRecognized1" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_RevenueRecognitionAndContractsWithCustomersLineItems" xlink:to="us-gaap_IncreaseDecreaseInDeferredRevenue" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_RevenueRecognitionAndContractsWithCustomersLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" order="4" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/TradeReceivablesNetDetails">
    <loc xlink:type="locator" xlink:label="rgr_TradeReceivablesNetDetailsLineItems" xlink:href="rgr-20231231.xsd#rgr_TradeReceivablesNetDetailsLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_TradeReceivablesNetDetailsTable" xlink:href="rgr-20231231.xsd#rgr_TradeReceivablesNetDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_TradeReceivablesNetDetailsLineItems" xlink:to="rgr_TradeReceivablesNetDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_TradeReceivablesNetDetailsTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_TradeReceivablesNetDetailsTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_MajorCustomersAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_TradeReceivablesNetDetailsTable" xlink:to="srt_MajorCustomersAxis" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_NameOfMajorCustomerDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_NameOfMajorCustomerDomain_0" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_CustomerOneMember" xlink:href="rgr-20231231.xsd#rgr_CustomerOneMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgr_CustomerOneMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_CustomerTwoMember" xlink:href="rgr-20231231.xsd#rgr_CustomerTwoMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgr_CustomerTwoMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_CustomerThreeMember" xlink:href="rgr-20231231.xsd#rgr_CustomerThreeMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgr_CustomerThreeMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_TradeReceivablesNetDetailsLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/PropertyPlantandEquipmentDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_Depreciation" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/OtherAssetsDetails">
    <loc xlink:type="locator" xlink:label="rgr_OtherAssetsLineItems" xlink:href="rgr-20231231.xsd#rgr_OtherAssetsLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_OtherAssetsDetailsTable" xlink:href="rgr-20231231.xsd#rgr_OtherAssetsDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_OtherAssetsLineItems" xlink:to="rgr_OtherAssetsDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_OtherAssetsDetailsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_TradeNameMember" xlink:href="rgr-20231231.xsd#rgr_TradeNameMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="rgr_TradeNameMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_OtherAssetsLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_OtherAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_OtherAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_OtherAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_OtherAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_OtherAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_OtherAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" order="7" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/LeasedAssetsDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/AccruedDividendsDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureTextBlockSupplementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockSupplementAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableAmountPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableAmountPerShare"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockSupplementAbstract" xlink:to="us-gaap_DividendsPayableAmountPerShare" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableCurrentAndNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableCurrentAndNoncurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockSupplementAbstract" xlink:to="us-gaap_DividendsPayableCurrentAndNoncurrent" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/LineofCreditDetails">
    <loc xlink:type="locator" xlink:label="rgr_LineofCreditDetailsLineItems" xlink:href="rgr-20231231.xsd#rgr_LineofCreditDetailsLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_LineofCreditDetailsTable" xlink:href="rgr-20231231.xsd#rgr_LineofCreditDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_LineofCreditDetailsLineItems" xlink:to="rgr_LineofCreditDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CreditFacilityAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_LineofCreditDetailsTable" xlink:to="us-gaap_CreditFacilityAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CreditFacilityDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CreditFacilityDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_LineOfCreditMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LineofCreditDetailsLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityExpirationDate1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityExpirationDate1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LineofCreditDetailsLineItems" xlink:to="us-gaap_LineOfCreditFacilityExpirationDate1" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LineofCreditDetailsLineItems" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" order="3" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/EmployeeBenefitPlansDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DefinedContributionPlanAdministrativeExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanAdministrativeExpenses"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_DefinedContributionPlanAdministrativeExpenses" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/IncomeTaxesDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes" xlink:href="rgr-20231231.xsd#rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxesPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxesPaidNet" order="2" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/StockRepurchasesDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract" xlink:to="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/CompensationPlansDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_CompensationPlansDetailsTable" xlink:href="rgr-20231231.xsd#rgr_CompensationPlansDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgr_CompensationPlansDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_CompensationPlansDetailsTable" xlink:to="us-gaap_AwardTypeAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_TitleOfIndividualAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_CompensationPlansDetailsTable" xlink:to="srt_TitleOfIndividualAxis" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_0" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_VestingPeriodAxis" xlink:href="rgr-20231231.xsd#rgr_VestingPeriodAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_CompensationPlansDetailsTable" xlink:to="rgr_VestingPeriodAxis" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_VestingPeriodDomainDomain" xlink:href="rgr-20231231.xsd#rgr_VestingPeriodDomainDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="rgr_VestingPeriodAxis" xlink:to="rgr_VestingPeriodDomainDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_VestingPeriodDomainDomain_0" xlink:href="rgr-20231231.xsd#rgr_VestingPeriodDomainDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="rgr_VestingPeriodAxis" xlink:to="rgr_VestingPeriodDomainDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_RangeAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_CompensationPlansDetailsTable" xlink:to="srt_RangeAxis" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_RangeMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_RangeMember_0" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PlanNameAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_CompensationPlansDetailsTable" xlink:to="us-gaap_PlanNameAxis" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PlanNameDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_MinimumMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_MaximumMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_StockIncentivePlan2017Member" xlink:href="rgr-20231231.xsd#rgr_StockIncentivePlan2017Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="rgr_StockIncentivePlan2017Member" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_StockIncentivePlan2023Member" xlink:href="rgr-20231231.xsd#rgr_StockIncentivePlan2023Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="rgr_StockIncentivePlan2023Member" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_DirectorMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_DirectorMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_DirectorMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_DeferredStockMember" xlink:href="rgr-20231231.xsd#rgr_DeferredStockMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgr_DeferredStockMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_VestInJune2024Member" xlink:href="rgr-20231231.xsd#rgr_VestInJune2024Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_VestingPeriodDomainDomain" xlink:to="rgr_VestInJune2024Member" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_VestInJune2026Member" xlink:href="rgr-20231231.xsd#rgr_VestInJune2026Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_VestingPeriodDomainDomain" xlink:to="rgr_VestInJune2026Member" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_VestInMay2023Member" xlink:href="rgr-20231231.xsd#rgr_VestInMay2023Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_VestingPeriodDomainDomain" xlink:to="rgr_VestInMay2023Member" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_VestingInMay2025Member" xlink:href="rgr-20231231.xsd#rgr_VestingInMay2025Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_VestingPeriodDomainDomain" xlink:to="rgr_VestingInMay2025Member" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_VestInJune2027Member" xlink:href="rgr-20231231.xsd#rgr_VestInJune2027Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_VestingPeriodDomainDomain" xlink:to="rgr_VestInJune2027Member" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_VestingMayTwoThousandTwentyTwoMember" xlink:href="rgr-20231231.xsd#rgr_VestingMayTwoThousandTwentyTwoMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_VestingPeriodDomainDomain" xlink:to="rgr_VestingMayTwoThousandTwentyTwoMember" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_VestInMay2024Member" xlink:href="rgr-20231231.xsd#rgr_VestInMay2024Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_VestingPeriodDomainDomain" xlink:to="rgr_VestInMay2024Member" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded" xlink:href="rgr-20231231.xsd#rgr_ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgr_ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" order="9" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RestrictedStockExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_RestrictedStockExpense" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_RecognizedCostsOfRestrictedStockUnits" xlink:href="rgr-20231231.xsd#rgr_RecognizedCostsOfRestrictedStockUnits"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgr_RecognizedCostsOfRestrictedStockUnits" order="11" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" order="12" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_UnrecognizedCompensationCost" xlink:href="rgr-20231231.xsd#rgr_UnrecognizedCompensationCost"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgr_UnrecognizedCompensationCost" order="13" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/OperatingSegmentInformationDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_OperatingSegmentInformationDetailsTable" xlink:href="rgr-20231231.xsd#rgr_OperatingSegmentInformationDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="rgr_OperatingSegmentInformationDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_StatementGeographicalAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_OperatingSegmentInformationDetailsTable" xlink:to="srt_StatementGeographicalAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_SegmentGeographicalDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_SegmentGeographicalDomain_0" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_OperatingSegmentInformationDetailsTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_OperatingSegmentInformationDetailsTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_MajorCustomersAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_OperatingSegmentInformationDetailsTable" xlink:to="srt_MajorCustomersAxis" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_NameOfMajorCustomerDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_NameOfMajorCustomerDomain_0" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_LipseysMember" xlink:href="rgr-20231231.xsd#rgr_LipseysMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgr_LipseysMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_DavidsonsMember" xlink:href="rgr-20231231.xsd#rgr_DavidsonsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgr_DavidsonsMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_SportsSouthMember" xlink:href="rgr-20231231.xsd#rgr_SportsSouthMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgr_SportsSouthMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SalesRevenueNetMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="country_US" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NumberOfOperatingSegments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_NumberOfOperatingSegments" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="2" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/RelatedPartyTransactionsDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_RelatedPartyTransactionsDetailsTable" xlink:href="rgr-20231231.xsd#rgr_RelatedPartyTransactionsDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="rgr_RelatedPartyTransactionsDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_RelatedPartyTransactionsDetailsTable" xlink:to="us-gaap_RelatedPartyTransactionAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="us-gaap_RelatedPartyTransactionDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="us-gaap_RelatedPartyTransactionDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_NationalRifleAssociationMember" xlink:href="rgr-20231231.xsd#rgr_NationalRifleAssociationMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyTransactionDomain" xlink:to="rgr_NationalRifleAssociationMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_NationalShootingSportsFoundationMember" xlink:href="rgr-20231231.xsd#rgr_NationalShootingSportsFoundationMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyTransactionDomain" xlink:to="rgr_NationalShootingSportsFoundationMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionAmountsOfTransaction"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RelatedPartyTransactionAmountsOfTransaction" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/ContingentLiabilitiesDetails">
    <loc xlink:type="locator" xlink:label="rgr_ContingentLiabilitiesDetailsLineItems" xlink:href="rgr-20231231.xsd#rgr_ContingentLiabilitiesDetailsLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_ContingentLiabilitiesDetailsTable" xlink:href="rgr-20231231.xsd#rgr_ContingentLiabilitiesDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_ContingentLiabilitiesDetailsLineItems" xlink:to="rgr_ContingentLiabilitiesDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_ContingentLiabilitiesDetailsTable" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyNatureDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyNatureDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyNatureDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyNatureDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_TraditionalProductLiabilityMember" xlink:href="rgr-20231231.xsd#rgr_TraditionalProductLiabilityMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="rgr_TraditionalProductLiabilityMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_MunicipalLawsuitsMember" xlink:href="rgr-20231231.xsd#rgr_MunicipalLawsuitsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="rgr_MunicipalLawsuitsMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_UnfairTradePracticesLawsuitsMember" xlink:href="rgr-20231231.xsd#rgr_UnfairTradePracticesLawsuitsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="rgr_UnfairTradePracticesLawsuitsMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_NegligenceLawsuitsMember" xlink:href="rgr-20231231.xsd#rgr_NegligenceLawsuitsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="rgr_NegligenceLawsuitsMember" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis" xlink:href="rgr-20231231.xsd#rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ContingentLiabilitiesDetailsLineItems" xlink:to="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities" xlink:href="rgr-20231231.xsd#rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ContingentLiabilitiesDetailsLineItems" xlink:to="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyDamagesSoughtValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyDamagesSoughtValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ContingentLiabilitiesDetailsLineItems" xlink:to="us-gaap_LossContingencyDamagesSoughtValue" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyNewClaimsFiledNumber"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ContingentLiabilitiesDetailsLineItems" xlink:to="us-gaap_LossContingencyNewClaimsFiledNumber" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyClaimsSettledNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyClaimsSettledNumber"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ContingentLiabilitiesDetailsLineItems" xlink:to="us-gaap_LossContingencyClaimsSettledNumber" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_LossContingencyNumberOfLawsuits" xlink:href="rgr-20231231.xsd#rgr_LossContingencyNumberOfLawsuits"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ContingentLiabilitiesDetailsLineItems" xlink:to="rgr_LossContingencyNumberOfLawsuits" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityAccrualPeriodExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductLiabilityAccrualPeriodExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ContingentLiabilitiesDetailsLineItems" xlink:to="us-gaap_ProductLiabilityAccrualPeriodExpense" order="7" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/SubsequentEventsDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_SubsequentEventsDetailsTable" xlink:href="rgr-20231231.xsd#rgr_SubsequentEventsDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="rgr_SubsequentEventsDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_SubsequentEventsDetailsTable" xlink:to="us-gaap_SubsequentEventTypeAxis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventTypeDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableAmountPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableAmountPerShare"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_DividendsPayableAmountPerShare" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:type="extended" xlink:role="http://ruger.com/role/DocumentAndEntityInformation">
    <loc xlink:type="locator" xlink:label="dei_DocumentInformationLineItems" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationLineItems"/>
    <loc xlink:type="locator" xlink:label="dei_DocumentInformationTable" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_EntityRegistrantName" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityRegistrantName" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_TradingSymbol" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_TradingSymbol" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_DocumentType" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentType" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_CurrentFiscalYearEndDate" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CurrentFiscalYearEndDate" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCommonStockSharesOutstanding" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_EntityPublicFloat" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityPublicFloat" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_AmendmentFlag" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_EntityCentralIndexKey" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCentralIndexKey" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_EntityCurrentReportingStatus" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCurrentReportingStatus" order="9" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_EntityVoluntaryFilers" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityVoluntaryFilers" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_EntityFilerCategory" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFilerCategory" order="11" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_EntityWellKnownSeasonedIssuer" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityWellKnownSeasonedIssuer" order="12" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_DocumentPeriodEndDate" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate" order="13" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_DocumentFiscalYearFocus" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalYearFocus" order="14" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalPeriodFocus" order="15" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_EntitySmallBusiness" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntitySmallBusiness" order="16" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_EntityEmergingGrowthCompany" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityEmergingGrowthCompany" order="17" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_EntityShellCompany" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityShellCompany" order="18" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_IcfrAuditorAttestationFlag" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_IcfrAuditorAttestationFlag" order="19" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_DocumentAnnualReport" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentAnnualReport" order="20" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_DocumentTransitionReport" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentTransitionReport" order="21" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_EntityFileNumber" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFileNumber" order="22" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityIncorporationStateCountryCode" order="23" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_EntityTaxIdentificationNumber" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityTaxIdentificationNumber" order="24" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_EntityAddressAddressLine1" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressAddressLine1" order="25" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_EntityAddressCityOrTown" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCityOrTown" order="26" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_EntityAddressStateOrProvince" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressStateOrProvince" order="27" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_EntityAddressPostalZipCode" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressPostalZipCode" order="28" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_CityAreaCode" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CityAreaCode" order="29" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_LocalPhoneNumber" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_LocalPhoneNumber" order="30" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_Security12bTitle" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_Security12bTitle" order="31" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_SecurityExchangeName" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SecurityExchangeName" order="32" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_EntityInteractiveDataCurrent" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityInteractiveDataCurrent" order="33" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFinStmtErrorCorrectionFlag" order="34" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentsIncorporatedByReferenceTextBlock" order="35" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_AuditorFirmId" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AuditorFirmId" order="36" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_AuditorName" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AuditorName" order="37" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="dei_AuditorLocation" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AuditorLocation" order="38" xbrldt:closed="true"/>
  </definitionLink>
</linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>10
<FILENAME>rgr-20231231_lab.xml
<DESCRIPTION>XBRL LABEL FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- Generated by CompSci Transform (tm) - http://www.compsciresources.com -->
<!-- Created: Wed Feb 21 15:51:54 UTC 2024 -->
<linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <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"/>
  <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"/>
  <labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US">Net inventories</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryNet_lbl0" xml:lang="en-US">Net inventories</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US">Total Current Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Net property, plant and equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl0" xml:lang="en-US">Net property, plant and equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Total Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Assets_lbl0" xml:lang="en-US">Identifiable Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US">Total Current Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementClassOfStockAxis_lbl" xml:lang="en-US">Class of Stock [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_StatementClassOfStockAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Total Stockholders&#8217; Equity</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquity_lbl0" xml:lang="en-US">Balance</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquity_lbl1" xml:lang="en-US">Balance</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US">Total Liabilities and Stockholders&#8217; Equity</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductOrServiceAxis_lbl" xml:lang="en-US">Product and Service [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US">Gross profit</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GrossProfit_lbl0" xml:lang="en-US">Gross profit</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingExpenses_lbl" xml:lang="en-US">Total operating expenses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US">Operating income</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US">Total other income, net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Income before income taxes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl0" xml:lang="en-US">Income (Loss) Before Income Taxes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US">Net income and comprehensive income</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLoss_lbl0" xml:lang="en-US">Net income</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US">Equity Components [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US">Cash provided by operating activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US">Cash provided by (used for) investing activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US">Cash used for financing activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl" xml:lang="en-US">(Decrease) increase in cash and cash equivalents</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Cash and cash equivalents at beginning of year</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl0" xml:lang="en-US">Cash and cash equivalents at end of year</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xml:lang="en-US">Summary of Significant Accounting Policies [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" xml:lang="en-US">Revenue Recognition and Contracts with Customers [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xml:lang="en-US">Contract liabilities with customers at January 1,</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ContractWithCustomerLiability_lbl0" xml:lang="en-US">Contract liabilities with customers at December 31,</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfTradeReceivablesAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfTradeReceivablesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfTradeReceivablesAbstract_lbl" xml:lang="en-US">Schedule of Trade Receivables [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfTradeReceivablesAbstract" xlink:to="rgr_ScheduleOfTradeReceivablesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Trade receivables, net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl0" xml:lang="en-US">Trade receivables, net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureAbstract_lbl" xml:lang="en-US">Inventories [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfInventoriesAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfInventoriesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfInventoriesAbstract_lbl" xml:lang="en-US">Schedule of Inventories [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfInventoriesAbstract" xlink:to="rgr_ScheduleOfInventoriesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xml:lang="en-US">Property, Plant and Equipment [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfPropertyPlantAndEquipmentAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfPropertyPlantAndEquipmentAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfPropertyPlantAndEquipmentAbstract_lbl" xml:lang="en-US">Schedule of Property, Plant and Equipment [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfPropertyPlantAndEquipmentAbstract" xlink:to="rgr_ScheduleOfPropertyPlantAndEquipmentAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsAbstract_lbl" xml:lang="en-US">Other Assets [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsAbstract" xlink:to="us-gaap_OtherAssetsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US">Other assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl0" xml:lang="en-US">Other assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureTextBlockAbstract_lbl" xml:lang="en-US">Leased Assets [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DisclosureTextBlockAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfRightOfUseAssetsAndRelatedLeaseLiabilitiesAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfRightOfUseAssetsAndRelatedLeaseLiabilitiesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfRightOfUseAssetsAndRelatedLeaseLiabilitiesAbstract_lbl" xml:lang="en-US">Schedule of Right-of-Use Assets and Related Lease Liabilities [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfRightOfUseAssetsAndRelatedLeaseLiabilitiesAbstract" xlink:to="rgr_ScheduleOfRightOfUseAssetsAndRelatedLeaseLiabilitiesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LeaseContractualTermAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseContractualTermAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseContractualTermAxis_lbl" xml:lang="en-US">Lease Contractual Term [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract_lbl" xml:lang="en-US">Trade Accounts Payable and Accrued Expenses [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract_lbl" xml:lang="en-US">Schedule of Trade Accounts Payable and Accrued Expenses [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:to="rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Trade accounts payable and accrued expenses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent_lbl0" xml:lang="en-US">Trade accounts payable and accrued expenses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityAbstract_lbl" xml:lang="en-US">Line of Credit [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityAbstract" xlink:to="us-gaap_LineOfCreditFacilityAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" xml:lang="en-US">Employee Benefit Plans [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfOtherOperatingIncomeNetAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfOtherOperatingIncomeNetAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfOtherOperatingIncomeNetAbstract_lbl" xml:lang="en-US">Schedule of Other Operating Income, Net [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfOtherOperatingIncomeNetAbstract" xlink:to="rgr_ScheduleOfOtherOperatingIncomeNetAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xml:lang="en-US">Income Taxes [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_lbl" xml:lang="en-US">Schedule of Federal and State Income Tax Provision [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_lbl" xml:lang="en-US">Effective income tax rate</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNetAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract_lbl" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsNetAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US">Total deferred tax assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xml:lang="en-US">Total deferred tax liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xml:lang="en-US">Net deferred tax assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US">Earnings Per Share [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract_lbl" xml:lang="en-US">Stock Repurchases [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract" xlink:to="us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfRepurchasedSharesOfItsCommonStockAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfRepurchasedSharesOfItsCommonStockAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfRepurchasedSharesOfItsCommonStockAbstract_lbl" xml:lang="en-US">Schedule of Repurchased Shares of its Common Stock [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfRepurchasedSharesOfItsCommonStockAbstract" xlink:to="rgr_ScheduleOfRepurchasedSharesOfItsCommonStockAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardDateAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardDateAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AwardDateAxis_lbl" xml:lang="en-US">Award Date [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardDateAxis" xlink:to="us-gaap_AwardDateAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfFourthQuarterEventsByTypeAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectOfFourthQuarterEventsByTypeAxis_lbl" xml:lang="en-US">Effect of Fourth Quarter Event Type [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:to="us-gaap_EffectOfFourthQuarterEventsByTypeAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationAbstract_lbl" xml:lang="en-US">Compensation Plans [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationAbstract" xlink:to="us-gaap_ShareBasedCompensationAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingAbstract_lbl" xml:lang="en-US">Operating Segment Information [Abstarct]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementBusinessSegmentsAxis_lbl" xml:lang="en-US">Segments [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_StatementBusinessSegmentsAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract_lbl" xml:lang="en-US">Quarterly Results of Operations (Unaudited) [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_QuarterlyFinancialInformationDisclosureAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfQuarterlyFinancialInformationAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfQuarterlyFinancialInformationAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfQuarterlyFinancialInformationAbstract_lbl" xml:lang="en-US">Schedule of Quarterly Financial Information [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfQuarterlyFinancialInformationAbstract" xlink:to="rgr_ScheduleOfQuarterlyFinancialInformationAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsAbstract_lbl" xml:lang="en-US">Related Party Transactions [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyAbstract_lbl" xml:lang="en-US">Contingent Liabilities [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyAbstract" xlink:to="us-gaap_LossContingencyAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_lbl" xml:lang="en-US">Balance Beginning of Year</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesBalance" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_lbl0" xml:lang="en-US">Balance End of Year</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesBalance" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DerivativeInstrumentDetailAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentDetailAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentDetailAbstract_lbl" xml:lang="en-US">Financial Instruments [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentDetailAbstract" xlink:to="us-gaap_DerivativeInstrumentDetailAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsAbstract_lbl" xml:lang="en-US">Subsequent Events [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ChristopherJKilloyMember" xlink:href="rgr-20231231.xsd#rgr_ChristopherJKilloyMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ChristopherJKilloyMember_lbl" xml:lang="en-US">Christopher J. Killoy [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ChristopherJKilloyMember" xlink:to="rgr_ChristopherJKilloyMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_JophnACosentinoJrMember" xlink:href="rgr-20231231.xsd#rgr_JophnACosentinoJrMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_JophnACosentinoJrMember_lbl" xml:lang="en-US">Jophn A. Cosentino, Jr. [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_JophnACosentinoJrMember" xlink:to="rgr_JophnACosentinoJrMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US">Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract" xlink:to="rgr_UnlabeledAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US">Current Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash and cash equivalents</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShortTermInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShortTermInvestments_lbl" xml:lang="en-US">Short-term investments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermInvestments" xlink:to="us-gaap_ShortTermInvestments_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract0" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract0_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract0" xlink:to="rgr_UnlabeledAbstract0_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryGross"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryGross_lbl" xml:lang="en-US">Gross inventories</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryGross" xlink:to="us-gaap_InventoryGross_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract1" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract1_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract1" xlink:to="rgr_UnlabeledAbstract1_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US">Prepaid expenses and other current assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract2" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract2"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract2_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract2" xlink:to="rgr_UnlabeledAbstract2_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xml:lang="en-US">Property, plant and equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract3" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract3"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract3_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract3" xlink:to="rgr_UnlabeledAbstract3_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US">Deferred income taxes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US">Liabilities and Stockholders&#8217; Equity</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract4" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract4"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract4_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract4" xlink:to="rgr_UnlabeledAbstract4_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US">Current Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract5" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract5"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract5_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract5" xlink:to="rgr_UnlabeledAbstract5_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DividendsPayableCurrent_lbl" xml:lang="en-US">Dividends payable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableCurrent" xlink:to="us-gaap_DividendsPayableCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US">Contract liabilities with customers (Note 2)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl0" xml:lang="en-US">Deferred contract revenue liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_ProductLiabilityCurrent" xlink:href="rgr-20231231.xsd#rgr_ProductLiabilityCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ProductLiabilityCurrent_lbl" xml:lang="en-US">Product liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ProductLiabilityCurrent" xlink:to="rgr_ProductLiabilityCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedEmployeeBenefitsCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent_lbl" xml:lang="en-US">Employee compensation and benefits</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WorkersCompensationLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WorkersCompensationLiabilityCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WorkersCompensationLiabilityCurrent_lbl" xml:lang="en-US">Workers&#8217; compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WorkersCompensationLiabilityCurrent" xlink:to="us-gaap_WorkersCompensationLiabilityCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TaxesPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TaxesPayableCurrent_lbl" xml:lang="en-US">Income taxes payable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxesPayableCurrent" xlink:to="us-gaap_TaxesPayableCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract6" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract6"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract6_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract6" xlink:to="rgr_UnlabeledAbstract6_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Lease liability (Note 7)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_EmployeeCompensation" xlink:href="rgr-20231231.xsd#rgr_EmployeeCompensation"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_EmployeeCompensation_lbl" xml:lang="en-US">Employee compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_EmployeeCompensation" xlink:to="rgr_EmployeeCompensation_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ProductLiabilityAccrualNoncurrent" xlink:href="rgr-20231231.xsd#rgr_ProductLiabilityAccrualNoncurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ProductLiabilityAccrualNoncurrent_lbl" xml:lang="en-US">Product liability accrual</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ProductLiabilityAccrualNoncurrent" xlink:to="rgr_ProductLiabilityAccrualNoncurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract7" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract7"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract7_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract7" xlink:to="rgr_UnlabeledAbstract7_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US">Contingent liabilities (Note 20)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract8" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract8"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract8_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract8" xlink:to="rgr_UnlabeledAbstract8_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US">Stockholders&#8217; Equity</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CommonStockNonVotingParValue1Abstract" xlink:href="rgr-20231231.xsd#rgr_CommonStockNonVotingParValue1Abstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CommonStockNonVotingParValue1Abstract_lbl" xml:lang="en-US">Common stock, non-voting, par value $1:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CommonStockNonVotingParValue1Abstract" xlink:to="rgr_CommonStockNonVotingParValue1Abstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US">Authorized shares &#8211; 50,000; none issued</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Common stock, par value per share (in Dollars per share)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US">Common stock, shares authorized</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US">Common stock, shares issued</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CommonStockParValue1Abstract" xlink:href="rgr-20231231.xsd#rgr_CommonStockParValue1Abstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CommonStockParValue1Abstract_lbl" xml:lang="en-US">Common stock, par value $1:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CommonStockParValue1Abstract" xlink:to="rgr_CommonStockParValue1Abstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_AuthorizedShares40000000Abstract" xlink:href="rgr-20231231.xsd#rgr_AuthorizedShares40000000Abstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_AuthorizedShares40000000Abstract_lbl" xml:lang="en-US">Authorized shares &#8211; 40,000,000</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AuthorizedShares40000000Abstract" xlink:to="rgr_AuthorizedShares40000000Abstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_a202324437020IssuedAbstract" xlink:href="rgr-20231231.xsd#rgr_a202324437020IssuedAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_a202324437020IssuedAbstract_lbl" xml:lang="en-US">2023 &#8211; 24,437,020 issued,</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_a202324437020IssuedAbstract" xlink:to="rgr_a202324437020IssuedAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_a17458620OutstandingAbstract" xlink:href="rgr-20231231.xsd#rgr_a17458620OutstandingAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_a17458620OutstandingAbstract_lbl" xml:lang="en-US">17,458,620 outstanding</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_a17458620OutstandingAbstract" xlink:to="rgr_a17458620OutstandingAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_a202224378568IssuedAbstract" xlink:href="rgr-20231231.xsd#rgr_a202224378568IssuedAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_a202224378568IssuedAbstract_lbl" xml:lang="en-US">2022 &#8211; 24,378,568 issued,</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_a202224378568IssuedAbstract" xlink:to="rgr_a202224378568IssuedAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US">Common stock, shares outstanding</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xml:lang="en-US">Additional paid-in capital</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">Retained earnings</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_LessTreasuryStockAtCostAbstract" xlink:href="rgr-20231231.xsd#rgr_LessTreasuryStockAtCostAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_LessTreasuryStockAtCostAbstract_lbl" xml:lang="en-US">Less: Treasury stock &#8211; at cost</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LessTreasuryStockAtCostAbstract" xlink:to="rgr_LessTreasuryStockAtCostAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_a20236978400SharesAbstract" xlink:href="rgr-20231231.xsd#rgr_a20236978400SharesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_a20236978400SharesAbstract_lbl" xml:lang="en-US">2023 &#8211; 6,978,400 shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_a20236978400SharesAbstract" xlink:to="rgr_a20236978400SharesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonShares" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US">Treasury stock, shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US">Total net sales</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Revenues_lbl0" xml:lang="en-US">Net Sales</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract9" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract9"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract9_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract9" xlink:to="rgr_UnlabeledAbstract9_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xml:lang="en-US">Cost of products sold</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract10" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract10"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract10_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract10" xlink:to="rgr_UnlabeledAbstract10_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract11" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract11"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract11_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract11" xlink:to="rgr_UnlabeledAbstract11_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingExpensesAbstract_lbl" xml:lang="en-US">Operating Expenses (Incomes):</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SellingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SellingExpense_lbl" xml:lang="en-US">Selling</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingExpense" xlink:to="us-gaap_SellingExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl" xml:lang="en-US">General and administrative</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract12" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract12"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract12_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract12" xlink:to="rgr_UnlabeledAbstract12_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract13" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract13"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract13_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract13" xlink:to="rgr_UnlabeledAbstract13_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherIncomeAndExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherIncomeAndExpensesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherIncomeAndExpensesAbstract_lbl" xml:lang="en-US">Other income:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_OtherIncomeAndExpensesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RoyaltyIncomeNonoperating" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RoyaltyIncomeNonoperating"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RoyaltyIncomeNonoperating_lbl" xml:lang="en-US">Royalty income</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RoyaltyIncomeNonoperating" xlink:to="us-gaap_RoyaltyIncomeNonoperating_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentIncomeInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeInterest"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InvestmentIncomeInterest_lbl" xml:lang="en-US">Interest income</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentIncomeInterest" xlink:to="us-gaap_InvestmentIncomeInterest_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xml:lang="en-US">Other income, net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract14" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract14"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract14_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract14" xlink:to="rgr_UnlabeledAbstract14_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract15" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract15"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract15_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract15" xlink:to="rgr_UnlabeledAbstract15_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Income taxes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract16" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract16"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract16_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract16" xlink:to="rgr_UnlabeledAbstract16_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract17" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract17"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract17_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract17" xlink:to="rgr_UnlabeledAbstract17_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract18" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract18"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract18_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract18" xlink:to="rgr_UnlabeledAbstract18_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Basic Earnings Per Share (in Dollars per share)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareBasic_lbl0" xml:lang="en-US">Basic earnings per share (in Dollars per share)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract19" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract19"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract19_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract19" xlink:to="rgr_UnlabeledAbstract19_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US">Diluted Earnings Per Share (in Dollars per share)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_lbl0" xml:lang="en-US">Diluted earnings per share (in Dollars per share)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract20" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract20"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract20_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract20" xlink:to="rgr_UnlabeledAbstract20_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Weighted average number of common shares outstanding &#8211; Basic (in Shares)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl0" xml:lang="en-US">Weighted average number of common shares outstanding &#8211; Basic</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract21" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract21"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract21_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract21" xlink:to="rgr_UnlabeledAbstract21_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Weighted average number of common shares outstanding &#8211; Diluted (in Shares)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl0" xml:lang="en-US">Weighted average number of common shares outstanding &#8211; Diluted</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract22" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract22"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract22_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract22" xlink:to="rgr_UnlabeledAbstract22_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockDividendsPerShareDeclared"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_lbl" xml:lang="en-US">Cash Dividends Per Share (in Dollars per share)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockDividendsPerShareDeclared" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US">Stock-based compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition_lbl" xml:lang="en-US">Vesting of RSU&#8217;s</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl" xml:lang="en-US">Common stock issued &#8211; compensation plans</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xml:lang="en-US">Repurchase of common stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Operating Activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Adjustments to reconcile net income to cash provided by operating activities, net of effects of acquisition:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US">Depreciation and amortization</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Stock-based compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredOtherTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredOtherTaxExpenseBenefit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredOtherTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred income taxes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredOtherTaxExpenseBenefit" xlink:to="us-gaap_DeferredOtherTaxExpenseBenefit_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US">Changes in operating assets and liabilities:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xml:lang="en-US">Trade accounts payable and accrued expenses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US">Contract liability with customers</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl" xml:lang="en-US">Employee compensation and benefits</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_IncreaseDecreaseInProductLiability" xlink:href="rgr-20231231.xsd#rgr_IncreaseDecreaseInProductLiability"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_IncreaseDecreaseInProductLiability_lbl" xml:lang="en-US">Product liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_IncreaseDecreaseInProductLiability" xlink:to="rgr_IncreaseDecreaseInProductLiability_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable_lbl" xml:lang="en-US">Income taxes receivable/payable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract23" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract23"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract23_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract23" xlink:to="rgr_UnlabeledAbstract23_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US">Investing Activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_lbl" xml:lang="en-US">Proceeds from maturity of short-term investments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:to="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xml:lang="en-US">Net proceeds from sale of assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract24" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract24"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract24_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract24" xlink:to="rgr_UnlabeledAbstract24_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US">Financing Activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract25" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract25"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract25_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract25" xlink:to="rgr_UnlabeledAbstract25_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryLIFOReserve" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryLIFOReserve"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_InventoryLIFOReserve_lbl" xml:lang="en-US">Less LIFO reserve</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryLIFOReserve" xlink:to="us-gaap_InventoryLIFOReserve_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_InventoryLIFOReserve_lbl0" xml:lang="en-US">Less: LIFO reserve</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryLIFOReserve" xlink:to="us-gaap_InventoryLIFOReserve_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryValuationReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserves"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_InventoryValuationReserves_lbl" xml:lang="en-US">Less excess and obsolescence reserve</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryValuationReserves" xlink:to="us-gaap_InventoryValuationReserves_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_InventoryValuationReserves_lbl0" xml:lang="en-US">Less: excess and obsolescence reserve</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryValuationReserves" xlink:to="us-gaap_InventoryValuationReserves_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xml:lang="en-US">Less allowances for depreciation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl0" xml:lang="en-US">Less allowances for depreciation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xml:lang="en-US">Treasury stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonValue" xlink:to="us-gaap_TreasuryStockCommonValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherOperatingIncomeExpenseNet"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_lbl" xml:lang="en-US">Other operating income, net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherOperatingIncomeExpenseNet" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InterestExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_InterestExpense_lbl" xml:lang="en-US">Interest expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsCommonStock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DividendsCommonStock_lbl" xml:lang="en-US">Dividends paid</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsCommonStock" xlink:to="us-gaap_DividendsCommonStock_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_DividendsCommonStockUnpaid" xlink:href="rgr-20231231.xsd#rgr_DividendsCommonStockUnpaid"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="rgr_DividendsCommonStockUnpaid_lbl" xml:lang="en-US">Unpaid dividends accrued</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DividendsCommonStockUnpaid" xlink:to="rgr_DividendsCommonStockUnpaid_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl" xml:lang="en-US">Repurchase shares of common stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ExcessAndObsolescenceInventoryReserves" xlink:href="rgr-20231231.xsd#rgr_ExcessAndObsolescenceInventoryReserves"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="rgr_ExcessAndObsolescenceInventoryReserves_lbl" xml:lang="en-US">Excess and obsolescence inventory reserve</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ExcessAndObsolescenceInventoryReserves" xlink:to="rgr_ExcessAndObsolescenceInventoryReserves_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xml:lang="en-US">Gain on sale of assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US">Trade receivables</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US">Inventories</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_lbl" xml:lang="en-US">Prepaid expenses, other assets and other liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US">Property, plant and equipment additions</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquireInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireInvestments"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireInvestments_lbl" xml:lang="en-US">Purchases of short-term investments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireInvestments" xlink:to="us-gaap_PaymentsToAcquireInvestments_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsOfDividendsCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDividendsCommonStock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfDividendsCommonStock_lbl" xml:lang="en-US">Dividends paid</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDividendsCommonStock" xlink:to="us-gaap_PaymentsOfDividendsCommonStock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xml:lang="en-US">Repurchase of common stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US">Payment of employee withholding tax related to share-based compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NonvotingCommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonvotingCommonStockMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NonvotingCommonStockMember_lbl" xml:lang="en-US">Nonvoting Common Stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonvotingCommonStockMember" xlink:to="us-gaap_NonvotingCommonStockMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US">Common Stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_FirearmsMember" xlink:href="rgr-20231231.xsd#rgr_FirearmsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_FirearmsMember_lbl" xml:lang="en-US">Net firearms sales</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FirearmsMember" xlink:to="rgr_FirearmsMember_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="rgr_FirearmsMember_lbl0" xml:lang="en-US">Firearms [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FirearmsMember" xlink:to="rgr_FirearmsMember_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_UnaffiliatedCastingsMember" xlink:href="rgr-20231231.xsd#rgr_UnaffiliatedCastingsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnaffiliatedCastingsMember_lbl" xml:lang="en-US">Net castings sales</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnaffiliatedCastingsMember" xlink:to="rgr_UnaffiliatedCastingsMember_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="rgr_UnaffiliatedCastingsMember_lbl0" xml:lang="en-US">Unaffiliated Castings [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnaffiliatedCastingsMember" xlink:to="rgr_UnaffiliatedCastingsMember_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US">Additional Paid-in Capital</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RetainedEarningsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US">Retained Earnings</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockCommonMember_lbl" xml:lang="en-US">Treasury Stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonMember" xlink:to="us-gaap_TreasuryStockCommonMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xml:lang="en-US">Summary of Significant Accounting Policies</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xml:lang="en-US">Revenue Recognition and Contracts with Customers</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_RevenueRecognitionMultipledeliverableArrangementsTableTextBlock" xlink:href="rgr-20231231.xsd#rgr_RevenueRecognitionMultipledeliverableArrangementsTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_RevenueRecognitionMultipledeliverableArrangementsTableTextBlock_lbl" xml:lang="en-US">Schedule of Revenue Recognized</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_RevenueRecognitionMultipledeliverableArrangementsTableTextBlock" xlink:to="rgr_RevenueRecognitionMultipledeliverableArrangementsTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract26" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract26"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract26_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract26" xlink:to="rgr_UnlabeledAbstract26_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract27" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract27"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract27_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract27" xlink:to="rgr_UnlabeledAbstract27_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_RevenueDeferred" xlink:href="rgr-20231231.xsd#rgr_RevenueDeferred"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_RevenueDeferred_lbl" xml:lang="en-US">Revenue deferred</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_RevenueDeferred" xlink:to="rgr_RevenueDeferred_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract28" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract28"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract28_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract28" xlink:to="rgr_UnlabeledAbstract28_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl" xml:lang="en-US">Trade Receivables, Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:to="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl" xml:lang="en-US">Schedule of trade receivables</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableGrossCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableGrossCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableGrossCurrent_lbl" xml:lang="en-US">Trade receivables</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableGrossCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl" xml:lang="en-US">Inventories</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xml:lang="en-US">Schedule of Inventories</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_InventoryAtFifoAbstract" xlink:href="rgr-20231231.xsd#rgr_InventoryAtFifoAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_InventoryAtFifoAbstract_lbl" xml:lang="en-US">Inventory at FIFO</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_InventoryAtFifoAbstract" xlink:to="rgr_InventoryAtFifoAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryFinishedGoods" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryFinishedGoods_lbl" xml:lang="en-US">Finished goods</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoods" xlink:to="us-gaap_InventoryFinishedGoods_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcessAndRawMaterials"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryWorkInProcessAndRawMaterials_lbl" xml:lang="en-US">Materials and products in process</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:to="us-gaap_InventoryWorkInProcessAndRawMaterials_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US">Property, Plant and Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xml:lang="en-US">Schedule of Property, Plant and Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAssetsDisclosureTextBlock_lbl" xml:lang="en-US">Other Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsDisclosureTextBlock" xlink:to="us-gaap_OtherAssetsDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfOtherAssetsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfOtherAssetsTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfOtherAssetsTableTextBlock_lbl" xml:lang="en-US">Schedule of Other Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfOtherAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfOtherAssetsTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedPatentsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedPatentsGross"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedPatentsGross_lbl" xml:lang="en-US">Patents, at cost</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedPatentsGross" xlink:to="us-gaap_FiniteLivedPatentsGross_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepositAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepositAssets"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DepositAssets_lbl" xml:lang="en-US">Deposits on capital items</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepositAssets" xlink:to="us-gaap_DepositAssets_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedTradeNamesGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedTradeNamesGross"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedTradeNamesGross_lbl" xml:lang="en-US">Marlin trade name</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedTradeNamesGross" xlink:to="us-gaap_FiniteLivedTradeNamesGross_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsMiscellaneous" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMiscellaneous"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAssetsMiscellaneous_lbl" xml:lang="en-US">Other</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsMiscellaneous" xlink:to="us-gaap_OtherAssetsMiscellaneous_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US">Leased Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfFutureMinimumLeasePaymentsTableTextBlock" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfFutureMinimumLeasePaymentsTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ScheduleOfFutureMinimumLeasePaymentsTableTextBlock_lbl" xml:lang="en-US">Schedule of Right-of-Use Assets and Related Lease Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfFutureMinimumLeasePaymentsTableTextBlock" xlink:to="rgr_ScheduleOfFutureMinimumLeasePaymentsTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US">Right-of-use assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract29" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract29"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract29_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract29" xlink:to="rgr_UnlabeledAbstract29_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OperatingLeaseLiabilitiesAbstract" xlink:href="rgr-20231231.xsd#rgr_OperatingLeaseLiabilitiesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_OperatingLeaseLiabilitiesAbstract_lbl" xml:lang="en-US">Operating lease liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OperatingLeaseLiabilitiesAbstract" xlink:to="rgr_OperatingLeaseLiabilitiesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract30" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract30"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract30_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract30" xlink:to="rgr_UnlabeledAbstract30_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">Current portion</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract31" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract31"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract31_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract31" xlink:to="rgr_UnlabeledAbstract31_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Noncurrent portion</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract32" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract32"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract32_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract32" xlink:to="rgr_UnlabeledAbstract32_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_TotalOperatingLeaseLiabilities" xlink:href="rgr-20231231.xsd#rgr_TotalOperatingLeaseLiabilities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_TotalOperatingLeaseLiabilities_lbl" xml:lang="en-US">Total operating lease liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TotalOperatingLeaseLiabilities" xlink:to="rgr_TotalOperatingLeaseLiabilities_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US">Schedule of Operating Lease Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US">2024</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US">2025</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US">2026</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US">2027</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US">2028</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xml:lang="en-US">Thereafter</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US">Total undiscounted future minimum lease payments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US">Total operating lease liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl" xml:lang="en-US">Trade Accounts Payable and Accrued Expenses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Schedule of Trade Accounts Payable and Accrued Expenses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableTradeCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableTradeCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsPayableTradeCurrent_lbl" xml:lang="en-US">Trade accounts payable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableTradeCurrent" xlink:to="us-gaap_AccountsPayableTradeCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedIncomeTaxesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedIncomeTaxesCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccruedIncomeTaxesCurrent_lbl" xml:lang="en-US">Federal excise taxes payable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedIncomeTaxesCurrent" xlink:to="us-gaap_AccruedIncomeTaxesCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAccountsPayableAndAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccountsPayableAndAccruedLiabilities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAccountsPayableAndAccruedLiabilities_lbl" xml:lang="en-US">Accrued other</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_OtherAccountsPayableAndAccruedLiabilities_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock_lbl" xml:lang="en-US">Accrued Dividends</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:to="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_LineOfCreditFacilitiesTextBlock" xlink:href="rgr-20231231.xsd#rgr_LineOfCreditFacilitiesTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_LineOfCreditFacilitiesTextBlock_lbl" xml:lang="en-US">Line of Credit</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LineOfCreditFacilitiesTextBlock" xlink:to="rgr_LineOfCreditFacilitiesTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl" xml:lang="en-US">Employee Benefit Plans</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock_lbl" xml:lang="en-US">Other Operating Income, Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:to="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OtherIncomeAndExpensesTableTextBlock" xlink:href="rgr-20231231.xsd#rgr_OtherIncomeAndExpensesTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_OtherIncomeAndExpensesTableTextBlock_lbl" xml:lang="en-US">Schedule of Other Operating Income, Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OtherIncomeAndExpensesTableTextBlock" xlink:to="rgr_OtherIncomeAndExpensesTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GainLossOnSaleOfOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfOtherAssets"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GainLossOnSaleOfOtherAssets_lbl" xml:lang="en-US">Gain on sale of operating assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfOtherAssets" xlink:to="us-gaap_GainLossOnSaleOfOtherAssets_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US">Income Taxes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FederalIncomeTaxNoteTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FederalIncomeTaxNoteTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FederalIncomeTaxNoteTextBlock_lbl" xml:lang="en-US">Schedule of Federal and State Income Tax Provision</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FederalIncomeTaxNoteTextBlock" xlink:to="us-gaap_FederalIncomeTaxNoteTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xml:lang="en-US">Federal, current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Federal, deferred</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xml:lang="en-US">State, current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">State, deferred</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US">Statutory federal income tax rate</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl0" xml:lang="en-US">Fedral tax rate</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xml:lang="en-US">State income taxes, net of federal tax benefit</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl" xml:lang="en-US">Other</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_DeferredTaxAssetsAbstract" xlink:href="rgr-20231231.xsd#rgr_DeferredTaxAssetsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_DeferredTaxAssetsAbstract_lbl" xml:lang="en-US">Deferred tax assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DeferredTaxAssetsAbstract" xlink:to="rgr_DeferredTaxAssetsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract33" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract33"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract33_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract33" xlink:to="rgr_UnlabeledAbstract33_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_lbl" xml:lang="en-US">Capitalized research and development costs</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:to="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation_lbl" xml:lang="en-US">Employee compensation and benefits</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl" xml:lang="en-US">Allowances for doubtful accounts and discounts</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsInventory" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInventory"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsInventory_lbl" xml:lang="en-US">Inventories</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsInventory" xlink:to="us-gaap_DeferredTaxAssetsInventory_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl" xml:lang="en-US">Stock-based compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsOther" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsOther_lbl" xml:lang="en-US">Other</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOther" xlink:to="us-gaap_DeferredTaxAssetsOther_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract_lbl" xml:lang="en-US">Deferred tax liabilities:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xml:lang="en-US">Depreciation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesOther" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesOther"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_lbl" xml:lang="en-US">Other</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesOther" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US">Earnings Per Share</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US">Schedule of a Reconciliation of the Numerator and Denominator for the Basic and Diluted Earnings Per Share</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_NumeratorAbstract" xlink:href="rgr-20231231.xsd#rgr_NumeratorAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_NumeratorAbstract_lbl" xml:lang="en-US">Numerator:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NumeratorAbstract" xlink:to="rgr_NumeratorAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TemporaryEquityNetIncome" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TemporaryEquityNetIncome"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TemporaryEquityNetIncome_lbl" xml:lang="en-US">Net income (in Dollars)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TemporaryEquityNetIncome" xlink:to="us-gaap_TemporaryEquityNetIncome_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_DenominatorAbstract" xlink:href="rgr-20231231.xsd#rgr_DenominatorAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_DenominatorAbstract_lbl" xml:lang="en-US">Denominator:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DenominatorAbstract" xlink:to="rgr_DenominatorAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xml:lang="en-US">Dilutive effect of options and restricted stock units outstanding under the Company&#8217;s employee compensation plans</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_StockRepurchasesTextBlock" xlink:href="rgr-20231231.xsd#rgr_StockRepurchasesTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_StockRepurchasesTextBlock_lbl" xml:lang="en-US">Stock Repurchases</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_StockRepurchasesTextBlock" xlink:to="rgr_StockRepurchasesTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfTreasuryStockByClassTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfTreasuryStockByClassTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfTreasuryStockByClassTextBlock_lbl" xml:lang="en-US">Schedule of Repurchased Shares of its Common Stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfTreasuryStockByClassTextBlock" xlink:to="us-gaap_ScheduleOfTreasuryStockByClassTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ThirdQuarter2022Abstract" xlink:href="rgr-20231231.xsd#rgr_ThirdQuarter2022Abstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ThirdQuarter2022Abstract_lbl" xml:lang="en-US">Third Quarter 2022</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThirdQuarter2022Abstract" xlink:to="rgr_ThirdQuarter2022Abstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockPreferredShares" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockPreferredShares"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockPreferredShares_lbl" xml:lang="en-US">Total Number of Shares Purchased</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockPreferredShares" xlink:to="us-gaap_TreasuryStockPreferredShares_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockAcquiredAverageCostPerShare"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl" xml:lang="en-US">Average Price Paid per Share (in Dollars per share)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_lbl" xml:lang="en-US">Total Number of Shares Purchased as Part of Publicly Announced Program</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:to="us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_FourthQuarter2022Abstract" xlink:href="rgr-20231231.xsd#rgr_FourthQuarter2022Abstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_FourthQuarter2022Abstract_lbl" xml:lang="en-US">Fourth Quarter 2022</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FourthQuarter2022Abstract" xlink:to="rgr_FourthQuarter2022Abstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_FourthQuarter2023Abstract" xlink:href="rgr-20231231.xsd#rgr_FourthQuarter2023Abstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_FourthQuarter2023Abstract_lbl" xml:lang="en-US">Fourth Quarter 2023</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FourthQuarter2023Abstract" xlink:to="rgr_FourthQuarter2023Abstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram" xlink:href="rgr-20231231.xsd#rgr_MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram_lbl" xml:lang="en-US">Maximum Dollar Value of Shares that May Yet Be Purchased Under the Program (in Dollars)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram" xlink:to="rgr_MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US">Compensation Plans</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US">Operating Segment Information</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xml:lang="en-US">Schedule of Operating Segment Financial Information</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_NetSalesAbstract" xlink:href="rgr-20231231.xsd#rgr_NetSalesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_NetSalesAbstract_lbl" xml:lang="en-US">Net Sales</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NetSalesAbstract" xlink:to="rgr_NetSalesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CastingsAbstract" xlink:href="rgr-20231231.xsd#rgr_CastingsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CastingsAbstract_lbl" xml:lang="en-US">Castings</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CastingsAbstract" xlink:to="rgr_CastingsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_IncomeLossBeforeIncomeTaxesAbstract" xlink:href="rgr-20231231.xsd#rgr_IncomeLossBeforeIncomeTaxesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_IncomeLossBeforeIncomeTaxesAbstract_lbl" xml:lang="en-US">Income (Loss) Before Income Taxes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_IncomeLossBeforeIncomeTaxesAbstract" xlink:to="rgr_IncomeLossBeforeIncomeTaxesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_IdentifiableAssetsAbstract" xlink:href="rgr-20231231.xsd#rgr_IdentifiableAssetsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_IdentifiableAssetsAbstract_lbl" xml:lang="en-US">Identifiable Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_IdentifiableAssetsAbstract" xlink:to="rgr_IdentifiableAssetsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_GoodwillAbstract" xlink:href="rgr-20231231.xsd#rgr_GoodwillAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_GoodwillAbstract_lbl" xml:lang="en-US">Goodwill</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_GoodwillAbstract" xlink:to="rgr_GoodwillAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Goodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Goodwill</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepreciationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DepreciationAbstract_lbl" xml:lang="en-US">Depreciation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationAbstract" xlink:to="us-gaap_DepreciationAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Depreciation_lbl" xml:lang="en-US">Depreciation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Depreciation_lbl0" xml:lang="en-US">Depreciation expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_CapitalExpendituresAbstract" xlink:href="rgr-20231231.xsd#rgr_CapitalExpendituresAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CapitalExpendituresAbstract_lbl" xml:lang="en-US">Capital Expenditures</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CapitalExpendituresAbstract" xlink:to="rgr_CapitalExpendituresAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentExpenditureAdditionToLongLivedAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentExpenditureAdditionToLongLivedAssets"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentExpenditureAdditionToLongLivedAssets_lbl" xml:lang="en-US">Capital Expenditures</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentExpenditureAdditionToLongLivedAssets" xlink:to="us-gaap_SegmentExpenditureAdditionToLongLivedAssets_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_QuarterlyFinancialInformationTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock_lbl" xml:lang="en-US">Quarterly Results of Operations (Unaudited)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl" xml:lang="en-US">Schedule of Quarterly Financial Information</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xml:lang="en-US">Related Party Transactions</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LegalMattersAndContingenciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LegalMattersAndContingenciesTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LegalMattersAndContingenciesTextBlock_lbl" xml:lang="en-US">Contingent Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LegalMattersAndContingenciesTextBlock" xlink:to="us-gaap_LegalMattersAndContingenciesTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl" xml:lang="en-US">Schedule of Roll-Forward for Product Liability Reserve</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_lbl" xml:lang="en-US">Accrued Legal Expense (Income)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_lbl0" xml:lang="en-US">Accrued Legal Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_ValuationAllowancesAndReservesLegalFees" xlink:href="rgr-20231231.xsd#rgr_ValuationAllowancesAndReservesLegalFees"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ValuationAllowancesAndReservesLegalFees_lbl" xml:lang="en-US">Legal Fees</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ValuationAllowancesAndReservesLegalFees" xlink:to="rgr_ValuationAllowancesAndReservesLegalFees_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ValuationAllowancesAndReservesSettlements" xlink:href="rgr-20231231.xsd#rgr_ValuationAllowancesAndReservesSettlements"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ValuationAllowancesAndReservesSettlements_lbl" xml:lang="en-US">Settlements</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ValuationAllowancesAndReservesSettlements" xlink:to="rgr_ValuationAllowancesAndReservesSettlements_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract34" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract34"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract34_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract34" xlink:to="rgr_UnlabeledAbstract34_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract35" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract35"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract35_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract35" xlink:to="rgr_UnlabeledAbstract35_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityContingenciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductLiabilityContingenciesTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProductLiabilityContingenciesTextBlock_lbl" xml:lang="en-US">Schedule of Product Liability Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductLiabilityContingenciesTextBlock" xlink:to="us-gaap_ProductLiabilityContingenciesTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityAccrualPeriodExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductLiabilityAccrualPeriodExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProductLiabilityAccrualPeriodExpense_lbl" xml:lang="en-US">Insurance Premium Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductLiabilityAccrualPeriodExpense" xlink:to="us-gaap_ProductLiabilityAccrualPeriodExpense_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProductLiabilityAccrualPeriodExpense_lbl0" xml:lang="en-US">Product liability expense (in Dollars)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductLiabilityAccrualPeriodExpense" xlink:to="us-gaap_ProductLiabilityAccrualPeriodExpense_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityAccrualComponentAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductLiabilityAccrualComponentAmount"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProductLiabilityAccrualComponentAmount_lbl" xml:lang="en-US">Total Product Liability Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductLiabilityAccrualComponentAmount" xlink:to="us-gaap_ProductLiabilityAccrualComponentAmount_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract36" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract36"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract36_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract36" xlink:to="rgr_UnlabeledAbstract36_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnlabeledAbstract37" xlink:href="rgr-20231231.xsd#rgr_UnlabeledAbstract37"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnlabeledAbstract37_lbl" xml:lang="en-US"></label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract37" xlink:to="rgr_UnlabeledAbstract37_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FinancialInstrumentsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentsDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinancialInstrumentsDisclosureTextBlock_lbl" xml:lang="en-US">Financial Instruments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancialInstrumentsDisclosureTextBlock" xlink:to="us-gaap_FinancialInstrumentsDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xml:lang="en-US">Subsequent Events</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueRevenueRecognized1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1_lbl" xml:lang="en-US">Revenue recognized</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueRevenueRecognized1" xlink:to="us-gaap_DeferredRevenueRevenueRecognized1_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1_lbl0" xml:lang="en-US">Recognized deferred revenue</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueRevenueRecognized1" xlink:to="us-gaap_DeferredRevenueRevenueRecognized1_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Allowance for doubtful accounts</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_AllowanceForDiscountsAccountsReceivableCurrent" xlink:href="rgr-20231231.xsd#rgr_AllowanceForDiscountsAccountsReceivableCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="rgr_AllowanceForDiscountsAccountsReceivableCurrent_lbl" xml:lang="en-US">Allowance for discounts</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AllowanceForDiscountsAccountsReceivableCurrent" xlink:to="rgr_AllowanceForDiscountsAccountsReceivableCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US">Accumulated amortization</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US">Less: Difference between undiscounted lease payments &amp; the present value of future lease payments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl" xml:lang="en-US">Research and development tax credits</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LandAndLandImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandAndLandImprovementsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LandAndLandImprovementsMember_lbl" xml:lang="en-US">Land and improvements	[Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandAndLandImprovementsMember" xlink:to="us-gaap_LandAndLandImprovementsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingAndBuildingImprovementsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember_lbl" xml:lang="en-US">Buildings and improvements [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingAndBuildingImprovementsMember" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl" xml:lang="en-US">Machinery and equipment [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl0" xml:lang="en-US">Machinery and Equipment [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ToolsDiesAndMoldsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ToolsDiesAndMoldsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ToolsDiesAndMoldsMember_lbl" xml:lang="en-US">Dies and tools	[Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ToolsDiesAndMoldsMember" xlink:to="us-gaap_ToolsDiesAndMoldsMember_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ToolsDiesAndMoldsMember_lbl0" xml:lang="en-US">Tools and dies [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ToolsDiesAndMoldsMember" xlink:to="us-gaap_ToolsDiesAndMoldsMember_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAssetsMember_lbl" xml:lang="en-US">Other Assets [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsMember" xlink:to="us-gaap_OtherAssetsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_TradeAccountsPayableAndAccruedExpensesMember" xlink:href="rgr-20231231.xsd#rgr_TradeAccountsPayableAndAccruedExpensesMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_TradeAccountsPayableAndAccruedExpensesMember_lbl" xml:lang="en-US">Trade accounts payable and accrued expenses [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TradeAccountsPayableAndAccruedExpensesMember" xlink:to="rgr_TradeAccountsPayableAndAccruedExpensesMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_LeaseLiabilitiesMember" xlink:href="rgr-20231231.xsd#rgr_LeaseLiabilitiesMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_LeaseLiabilitiesMember_lbl" xml:lang="en-US">Lease liabilities [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LeaseLiabilitiesMember" xlink:to="rgr_LeaseLiabilitiesMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OperatingLeaseMember" xlink:href="rgr-20231231.xsd#rgr_OperatingLeaseMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_OperatingLeaseMember_lbl" xml:lang="en-US">Operating lease [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OperatingLeaseMember" xlink:to="rgr_OperatingLeaseMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_JulyThreeToJulyThirtyMember" xlink:href="rgr-20231231.xsd#rgr_JulyThreeToJulyThirtyMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_JulyThreeToJulyThirtyMember_lbl" xml:lang="en-US">July 3 to July 30 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_JulyThreeToJulyThirtyMember" xlink:to="rgr_JulyThreeToJulyThirtyMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ThirdQuarter2022Member" xlink:href="rgr-20231231.xsd#rgr_ThirdQuarter2022Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ThirdQuarter2022Member_lbl" xml:lang="en-US">Third Quarter 2022	[Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThirdQuarter2022Member" xlink:to="rgr_ThirdQuarter2022Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_JulyThirtyoneToAugustTwentySevenMember" xlink:href="rgr-20231231.xsd#rgr_JulyThirtyoneToAugustTwentySevenMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_JulyThirtyoneToAugustTwentySevenMember_lbl" xml:lang="en-US">July 31 to August 27 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_JulyThirtyoneToAugustTwentySevenMember" xlink:to="rgr_JulyThirtyoneToAugustTwentySevenMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_AugustTwentyEightToOctoberOneMember" xlink:href="rgr-20231231.xsd#rgr_AugustTwentyEightToOctoberOneMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_AugustTwentyEightToOctoberOneMember_lbl" xml:lang="en-US">August 28 to October 1 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AugustTwentyEightToOctoberOneMember" xlink:to="rgr_AugustTwentyEightToOctoberOneMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OctoberTwoToOctoberTwentyNineMember" xlink:href="rgr-20231231.xsd#rgr_OctoberTwoToOctoberTwentyNineMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_OctoberTwoToOctoberTwentyNineMember_lbl" xml:lang="en-US">October 2 to October 29 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OctoberTwoToOctoberTwentyNineMember" xlink:to="rgr_OctoberTwoToOctoberTwentyNineMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_FourthQuarter2022Member" xlink:href="rgr-20231231.xsd#rgr_FourthQuarter2022Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_FourthQuarter2022Member_lbl" xml:lang="en-US">Fourth Quarter 2022 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FourthQuarter2022Member" xlink:to="rgr_FourthQuarter2022Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OctoberThirtyToNovemberTwentySevenMember" xlink:href="rgr-20231231.xsd#rgr_OctoberThirtyToNovemberTwentySevenMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_OctoberThirtyToNovemberTwentySevenMember_lbl" xml:lang="en-US">October 30 to November 26 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OctoberThirtyToNovemberTwentySevenMember" xlink:to="rgr_OctoberThirtyToNovemberTwentySevenMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_NovemberTwentySevenToDecemberThirtyOneMember" xlink:href="rgr-20231231.xsd#rgr_NovemberTwentySevenToDecemberThirtyOneMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_NovemberTwentySevenToDecemberThirtyOneMember_lbl" xml:lang="en-US">November 27 to December 31 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NovemberTwentySevenToDecemberThirtyOneMember" xlink:to="rgr_NovemberTwentySevenToDecemberThirtyOneMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OctoberOneToOctoberTwentyEightMember" xlink:href="rgr-20231231.xsd#rgr_OctoberOneToOctoberTwentyEightMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_OctoberOneToOctoberTwentyEightMember_lbl" xml:lang="en-US">October 1 to October 28 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OctoberOneToOctoberTwentyEightMember" xlink:to="rgr_OctoberOneToOctoberTwentyEightMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_FourthQuarter2023Member" xlink:href="rgr-20231231.xsd#rgr_FourthQuarter2023Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_FourthQuarter2023Member_lbl" xml:lang="en-US">Fourth Quarter 2023 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FourthQuarter2023Member" xlink:to="rgr_FourthQuarter2023Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_October29ToNovember25Member" xlink:href="rgr-20231231.xsd#rgr_October29ToNovember25Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_October29ToNovember25Member_lbl" xml:lang="en-US">October 29 to November 25 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_October29ToNovember25Member" xlink:to="rgr_October29ToNovember25Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_November26ToDecember31Member" xlink:href="rgr-20231231.xsd#rgr_November26ToDecember31Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_November26ToDecember31Member_lbl" xml:lang="en-US">November 26 to December 31 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_November26ToDecember31Member" xlink:to="rgr_November26ToDecember31Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CastingsMember" xlink:href="rgr-20231231.xsd#rgr_CastingsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CastingsMember_lbl" xml:lang="en-US">Castings [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CastingsMember" xlink:to="rgr_CastingsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_IntersegmentMember" xlink:href="rgr-20231231.xsd#rgr_IntersegmentMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_IntersegmentMember_lbl" xml:lang="en-US">Intersegment [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_IntersegmentMember" xlink:to="rgr_IntersegmentMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_EliminationsMember" xlink:href="rgr-20231231.xsd#rgr_EliminationsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_EliminationsMember_lbl" xml:lang="en-US">Eliminations [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_EliminationsMember" xlink:to="rgr_EliminationsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CorporateMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CorporateMember_lbl" xml:lang="en-US">Corporate Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CorporateMember" xlink:to="us-gaap_CorporateMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ProductLiabilityReserveMember" xlink:href="rgr-20231231.xsd#rgr_ProductLiabilityReserveMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ProductLiabilityReserveMember_lbl" xml:lang="en-US">Product Liability Reserve [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ProductLiabilityReserveMember" xlink:to="rgr_ProductLiabilityReserveMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_AccruedLegalExpenseMember" xlink:href="rgr-20231231.xsd#rgr_AccruedLegalExpenseMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_AccruedLegalExpenseMember_lbl" xml:lang="en-US">Accrued Legal Expense [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AccruedLegalExpenseMember" xlink:to="rgr_AccruedLegalExpenseMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ProductInsurancePremiumExpenseMember" xlink:href="rgr-20231231.xsd#rgr_ProductInsurancePremiumExpenseMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ProductInsurancePremiumExpenseMember_lbl" xml:lang="en-US">Insurance Premium Expense [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ProductInsurancePremiumExpenseMember" xlink:to="rgr_ProductInsurancePremiumExpenseMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_TotalProductLiabilityExpenseMember" xlink:href="rgr-20231231.xsd#rgr_TotalProductLiabilityExpenseMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_TotalProductLiabilityExpenseMember_lbl" xml:lang="en-US">Total Product Liability Expense [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TotalProductLiabilityExpenseMember" xlink:to="rgr_TotalProductLiabilityExpenseMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xml:lang="en-US">Concentration Risk Benchmark [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xml:lang="en-US">Concentration Risk Type [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FinancialInstrumentAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinancialInstrumentAxis_lbl" xml:lang="en-US">Financial Instrument [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_FinancialInstrumentAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_MajorCustomersAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MajorCustomersAxis_lbl" xml:lang="en-US">Customer [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CreditFacilityAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityAxis_lbl" xml:lang="en-US">Credit Facility [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PlanNameAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameAxis_lbl" xml:lang="en-US">Plan Name [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_VestingPeriodAxis" xlink:href="rgr-20231231.xsd#rgr_VestingPeriodAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_VestingPeriodAxis_lbl" xml:lang="en-US">Vesting Period [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestingPeriodAxis" xlink:to="rgr_VestingPeriodAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_TitleOfIndividualAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualAxis_lbl" xml:lang="en-US">Title of Individual [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_RangeAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeAxis_lbl" xml:lang="en-US">Statistical Measurement [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_StatementGeographicalAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementGeographicalAxis_lbl" xml:lang="en-US">Geographical [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionAxis_lbl" xml:lang="en-US">Related Party Transaction [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="us-gaap_RelatedPartyTransactionAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis_lbl" xml:lang="en-US">Loss Contingency Nature [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTypeAxis_lbl" xml:lang="en-US">Subsequent Event Type [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US">Percentage of sales</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl0" xml:lang="en-US">Total trade receivables</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationEffectOnEarningsPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationEffectOnEarningsPerShare"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationEffectOnEarningsPerShare_lbl" xml:lang="en-US">Customary payment description</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationEffectOnEarningsPerShare" xlink:to="us-gaap_SharebasedCompensationEffectOnEarningsPerShare_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xml:lang="en-US">Useful life</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdvertisingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdvertisingExpense_lbl" xml:lang="en-US">Advertising expenses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvertisingExpense" xlink:to="us-gaap_AdvertisingExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ShippingCosts" xlink:href="rgr-20231231.xsd#rgr_ShippingCosts"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ShippingCosts_lbl" xml:lang="en-US">Shipping costs</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ShippingCosts" xlink:to="rgr_ShippingCosts_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xml:lang="en-US">Research and development</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredRevenueAdditions" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueAdditions"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredRevenueAdditions_lbl" xml:lang="en-US">Company deferred revenue</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueAdditions" xlink:to="us-gaap_DeferredRevenueAdditions_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue_lbl" xml:lang="en-US">Net increase (decrease) in firearms sales</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:to="us-gaap_IncreaseDecreaseInDeferredRevenue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US">Patent amortization</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl" xml:lang="en-US">Estimated annual patent amortization expense after five years</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US">Estimated annual patent amortization expense 2023</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US">Estimated annual patent amortization expense 2024</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US">Estimated annual patent amortization expense 2025</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US">Estimated annual patent amortization expense 2026</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xml:lang="en-US">Estimated annual patent amortization expense 2027</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US">Lease term</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableAmountPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableAmountPerShare"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DividendsPayableAmountPerShare_lbl" xml:lang="en-US">Dividend per share</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableAmountPerShare" xlink:to="us-gaap_DividendsPayableAmountPerShare_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DividendsPayableAmountPerShare_lbl0" xml:lang="en-US">Dividend authorized</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableAmountPerShare" xlink:to="us-gaap_DividendsPayableAmountPerShare_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableCurrentAndNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableCurrentAndNoncurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DividendsPayableCurrentAndNoncurrent_lbl" xml:lang="en-US">Dividend total</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableCurrentAndNoncurrent" xlink:to="us-gaap_DividendsPayableCurrentAndNoncurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US">Credit facility with a bank</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityExpirationDate1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityExpirationDate1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityExpirationDate1_lbl" xml:lang="en-US">Revolving credit facility, expiration date</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityExpirationDate1" xlink:to="us-gaap_LineOfCreditFacilityExpirationDate1_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl" xml:lang="en-US">Line of credit unused portion per year</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DefinedContributionPlanAdministrativeExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanAdministrativeExpenses"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedContributionPlanAdministrativeExpenses_lbl" xml:lang="en-US">Expenses related to matching employee contributions</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanAdministrativeExpenses" xlink:to="us-gaap_DefinedContributionPlanAdministrativeExpenses_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount_lbl" xml:lang="en-US">Supplemental contributions total</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:to="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes" xlink:href="rgr-20231231.xsd#rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes_lbl" xml:lang="en-US">Capitalized and amortized over for income tax purposes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes" xlink:to="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxesPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xml:lang="en-US">Income tax payments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_lbl" xml:lang="en-US">Share repurchase authorization</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:to="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xml:lang="en-US">Shares reserved for future issuance</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" xml:lang="en-US">reserved shares for future issuance</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xml:lang="en-US">Shares available for future grants</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded" xlink:href="rgr-20231231.xsd#rgr_ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded_lbl" xml:lang="en-US">Shares remained unawarded</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded" xlink:to="rgr_ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US">Total stock-based compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued_lbl" xml:lang="en-US">Deferred stock awards amount</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense_lbl" xml:lang="en-US">Compensation expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl" xml:lang="en-US">Unrecognized compensation cost</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl" xml:lang="en-US">Restricted stock units issued</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RestrictedStockExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedStockExpense_lbl" xml:lang="en-US">Cost of issuances restricted stock units</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockExpense" xlink:to="us-gaap_RestrictedStockExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_RecognizedCostsOfRestrictedStockUnits" xlink:href="rgr-20231231.xsd#rgr_RecognizedCostsOfRestrictedStockUnits"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_RecognizedCostsOfRestrictedStockUnits_lbl" xml:lang="en-US">Recognized costs of restricted stock units</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_RecognizedCostsOfRestrictedStockUnits" xlink:to="rgr_RecognizedCostsOfRestrictedStockUnits_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xml:lang="en-US">Vesting period</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnrecognizedCompensationCost" xlink:href="rgr-20231231.xsd#rgr_UnrecognizedCompensationCost"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnrecognizedCompensationCost_lbl" xml:lang="en-US">Unrecognized compensation cost</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnrecognizedCompensationCost" xlink:to="rgr_UnrecognizedCompensationCost_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NumberOfOperatingSegments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NumberOfOperatingSegments_lbl" xml:lang="en-US">Number of Operating Segments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfOperatingSegments" xlink:to="us-gaap_NumberOfOperatingSegments_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionAmountsOfTransaction"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RelatedPartyTransactionAmountsOfTransaction_lbl" xml:lang="en-US">Amount paid</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:to="us-gaap_RelatedPartyTransactionAmountsOfTransaction_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis" xlink:href="rgr-20231231.xsd#rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis_lbl" xml:lang="en-US">Minimum limit of per claim for providing insurance coverage on annual basis (in Dollars)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis" xlink:to="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities" xlink:href="rgr-20231231.xsd#rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities_lbl" xml:lang="en-US">Maximum limit of aggregate loss incurred annually for providing insurance coverage on annual basis (in Dollars)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities" xlink:to="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyDamagesSoughtValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyDamagesSoughtValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LossContingencyDamagesSoughtValue_lbl" xml:lang="en-US">Total amount of damages claimed (in Dollars)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyDamagesSoughtValue" xlink:to="us-gaap_LossContingencyDamagesSoughtValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyNewClaimsFiledNumber"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber_lbl" xml:lang="en-US">Number of lawsuits</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyNewClaimsFiledNumber" xlink:to="us-gaap_LossContingencyNewClaimsFiledNumber_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyClaimsSettledNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyClaimsSettledNumber"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LossContingencyClaimsSettledNumber_lbl" xml:lang="en-US">Number of lawsuits resolved</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyClaimsSettledNumber" xlink:to="us-gaap_LossContingencyClaimsSettledNumber_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_LossContingencyNumberOfLawsuits" xlink:href="rgr-20231231.xsd#rgr_LossContingencyNumberOfLawsuits"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_LossContingencyNumberOfLawsuits_lbl" xml:lang="en-US">Number of lawsuits involving its products</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LossContingencyNumberOfLawsuits" xlink:to="rgr_LossContingencyNumberOfLawsuits_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OrganizationPolicyTextBlock" xlink:href="rgr-20231231.xsd#rgr_OrganizationPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_OrganizationPolicyTextBlock_lbl" xml:lang="en-US">Organization</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OrganizationPolicyTextBlock" xlink:to="rgr_OrganizationPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_PreparationOfFinancialStatementsPolicyTextBlock" xlink:href="rgr-20231231.xsd#rgr_PreparationOfFinancialStatementsPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_PreparationOfFinancialStatementsPolicyTextBlock_lbl" xml:lang="en-US">Preparation of Financial Statements</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_PreparationOfFinancialStatementsPolicyTextBlock" xlink:to="rgr_PreparationOfFinancialStatementsPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConsolidationPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US">Principles of Consolidation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xml:lang="en-US">Revenue Recognition</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xml:lang="en-US">Cash and Cash Equivalents</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_lbl" xml:lang="en-US">Fair Value Measurements of Short-term Investments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:to="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" xml:lang="en-US">Accounts Receivable [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US">Inventories</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US">Property, Plant, and Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xml:lang="en-US">Long-lived Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_lbl" xml:lang="en-US">Goodwill</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:to="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US">Income Taxes</label>
<!-- [WMV5][XcpuxYn59dz7vgYynUDuwG7r97K2jUTysl7vcz0lJt/tSeJz73kx1cLt0ZFF2SK/vxBCY0vdSrae3Q64+IQnmb2USxqPYGfVI2tDrLdUwwGN7MqrQdhG+SCWYUh6Hp+V8bA/AEnE3cNkyoG64Ll76mKBykPxsq7UZToAehnDUkdsoUl/OXPyniSyg2keWK/5oF8+flNxqJpCbuMe90w6AkYj4WWoTfEFqinw/xNg0k5K9t6nNzB5aibP7T0iIrB16RFZLzskY4gx3aww0zp+IbkwVHxTdqoG] CSR-->
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilityReserveEstimatePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilityReserveEstimatePolicy"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilityReserveEstimatePolicy_lbl" xml:lang="en-US">Product Liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilityReserveEstimatePolicy" xlink:to="us-gaap_LiabilityReserveEstimatePolicy_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingCostsPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock_lbl" xml:lang="en-US">Advertising Costs</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ShippingCostPolicyPolicyTextBlock" xlink:href="rgr-20231231.xsd#rgr_ShippingCostPolicyPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ShippingCostPolicyPolicyTextBlock_lbl" xml:lang="en-US">Shipping Costs</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ShippingCostPolicyPolicyTextBlock" xlink:to="rgr_ShippingCostPolicyPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xml:lang="en-US">Research and Development</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US">Earnings per Share</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US">Recent Accounting Pronouncements</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SalesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SalesMember_lbl" xml:lang="en-US">Sales [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesMember" xlink:to="us-gaap_SalesMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xml:lang="en-US">Customer Concentration Risk [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ExportSalesMember" xlink:href="rgr-20231231.xsd#rgr_ExportSalesMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ExportSalesMember_lbl" xml:lang="en-US">Export Sales [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ExportSalesMember" xlink:to="rgr_ExportSalesMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CastingsSalesMember" xlink:href="rgr-20231231.xsd#rgr_CastingsSalesMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CastingsSalesMember_lbl" xml:lang="en-US">Castings Sales [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CastingsSalesMember" xlink:to="rgr_CastingsSalesMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_BuildingMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BuildingMember_lbl" xml:lang="en-US">Building [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingMember" xlink:to="us-gaap_BuildingMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherDebtSecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherDebtSecuritiesMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherDebtSecuritiesMember_lbl" xml:lang="en-US">Other Debt Obligations [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherDebtSecuritiesMember" xlink:to="us-gaap_OtherDebtSecuritiesMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CustomerOneMember" xlink:href="rgr-20231231.xsd#rgr_CustomerOneMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CustomerOneMember_lbl" xml:lang="en-US">Customer One [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CustomerOneMember" xlink:to="rgr_CustomerOneMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableMember_lbl" xml:lang="en-US">Accounts Receivable [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CustomerTwoMember" xlink:href="rgr-20231231.xsd#rgr_CustomerTwoMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CustomerTwoMember_lbl" xml:lang="en-US">Customer Two [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CustomerTwoMember" xlink:to="rgr_CustomerTwoMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CustomerThreeMember" xlink:href="rgr-20231231.xsd#rgr_CustomerThreeMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CustomerThreeMember_lbl" xml:lang="en-US">Customer Three [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CustomerThreeMember" xlink:to="rgr_CustomerThreeMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_TradeNameMember" xlink:href="rgr-20231231.xsd#rgr_TradeNameMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_TradeNameMember_lbl" xml:lang="en-US">Trade name [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TradeNameMember" xlink:to="rgr_TradeNameMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xml:lang="en-US">Customer Relationships [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerRelationshipsMember" xlink:to="us-gaap_CustomerRelationshipsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditMember_lbl" xml:lang="en-US">Line of Credit [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditMember" xlink:to="us-gaap_LineOfCreditMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_StockIncentivePlan2017Member" xlink:href="rgr-20231231.xsd#rgr_StockIncentivePlan2017Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_StockIncentivePlan2017Member_lbl" xml:lang="en-US">Stock Incentive Plan 2017 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_StockIncentivePlan2017Member" xlink:to="rgr_StockIncentivePlan2017Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_StockIncentivePlan2023Member" xlink:href="rgr-20231231.xsd#rgr_StockIncentivePlan2023Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_StockIncentivePlan2023Member_lbl" xml:lang="en-US">Stock Incentive Plan 2023 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_StockIncentivePlan2023Member" xlink:to="rgr_StockIncentivePlan2023Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_VestInJune2024Member" xlink:href="rgr-20231231.xsd#rgr_VestInJune2024Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_VestInJune2024Member_lbl" xml:lang="en-US">Vest in June 2024 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestInJune2024Member" xlink:to="rgr_VestInJune2024Member_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_DirectorMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_DirectorMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_DirectorMember_lbl" xml:lang="en-US">Non-Employee Directors [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_DirectorMember" xlink:to="srt_DirectorMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_DeferredStockMember" xlink:href="rgr-20231231.xsd#rgr_DeferredStockMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_DeferredStockMember_lbl" xml:lang="en-US">Deferred Stock [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DeferredStockMember" xlink:to="rgr_DeferredStockMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_VestInJune2026Member" xlink:href="rgr-20231231.xsd#rgr_VestInJune2026Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_VestInJune2026Member_lbl" xml:lang="en-US">Vest in June 2026 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestInJune2026Member" xlink:to="rgr_VestInJune2026Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_VestInMay2023Member" xlink:href="rgr-20231231.xsd#rgr_VestInMay2023Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_VestInMay2023Member_lbl" xml:lang="en-US">Vest in May 2023 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestInMay2023Member" xlink:to="rgr_VestInMay2023Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_VestingInMay2025Member" xlink:href="rgr-20231231.xsd#rgr_VestingInMay2025Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_VestingInMay2025Member_lbl" xml:lang="en-US">Vesting in May 2025 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestingInMay2025Member" xlink:to="rgr_VestingInMay2025Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_VestInJune2027Member" xlink:href="rgr-20231231.xsd#rgr_VestInJune2027Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_VestInJune2027Member_lbl" xml:lang="en-US">Vest in June 2027 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestInJune2027Member" xlink:to="rgr_VestInJune2027Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_VestingMayTwoThousandTwentyTwoMember" xlink:href="rgr-20231231.xsd#rgr_VestingMayTwoThousandTwentyTwoMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_VestingMayTwoThousandTwentyTwoMember_lbl" xml:lang="en-US">Vesting in May 2022 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestingMayTwoThousandTwentyTwoMember" xlink:to="rgr_VestingMayTwoThousandTwentyTwoMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_VestInMay2024Member" xlink:href="rgr-20231231.xsd#rgr_VestInMay2024Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_VestInMay2024Member_lbl" xml:lang="en-US">Vest in May 2024 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestInMay2024Member" xlink:to="rgr_VestInMay2024Member_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US">Restricted Stock Units [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_MinimumMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US">Minimum [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_MaximumMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US">Maximum [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_LipseysMember" xlink:href="rgr-20231231.xsd#rgr_LipseysMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_LipseysMember_lbl" xml:lang="en-US">Lipseys [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LipseysMember" xlink:to="rgr_LipseysMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SalesRevenueNetMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xml:lang="en-US">Revenue Benchmark [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_DavidsonsMember" xlink:href="rgr-20231231.xsd#rgr_DavidsonsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_DavidsonsMember_lbl" xml:lang="en-US">Davidsons [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DavidsonsMember" xlink:to="rgr_DavidsonsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_SportsSouthMember" xlink:href="rgr-20231231.xsd#rgr_SportsSouthMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_SportsSouthMember_lbl" xml:lang="en-US">Sports South [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_SportsSouthMember" xlink:to="rgr_SportsSouthMember_lbl"/>
    <loc xlink:type="locator" xlink:label="country_US" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_US_lbl" xml:lang="en-US">United States [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_NationalRifleAssociationMember" xlink:href="rgr-20231231.xsd#rgr_NationalRifleAssociationMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_NationalRifleAssociationMember_lbl" xml:lang="en-US">National Rifle Association [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NationalRifleAssociationMember" xlink:to="rgr_NationalRifleAssociationMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_NationalShootingSportsFoundationMember" xlink:href="rgr-20231231.xsd#rgr_NationalShootingSportsFoundationMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_NationalShootingSportsFoundationMember_lbl" xml:lang="en-US">National Shooting Sports Foundation [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NationalShootingSportsFoundationMember" xlink:to="rgr_NationalShootingSportsFoundationMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_TraditionalProductLiabilityMember" xlink:href="rgr-20231231.xsd#rgr_TraditionalProductLiabilityMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_TraditionalProductLiabilityMember_lbl" xml:lang="en-US">Traditional Product Liability Lawsuit [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TraditionalProductLiabilityMember" xlink:to="rgr_TraditionalProductLiabilityMember_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="rgr_TraditionalProductLiabilityMember_lbl0" xml:lang="en-US">Traditional Product Liability [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TraditionalProductLiabilityMember" xlink:to="rgr_TraditionalProductLiabilityMember_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_MunicipalLawsuitsMember" xlink:href="rgr-20231231.xsd#rgr_MunicipalLawsuitsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_MunicipalLawsuitsMember_lbl" xml:lang="en-US">Municipal Lawsuits [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_MunicipalLawsuitsMember" xlink:to="rgr_MunicipalLawsuitsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnfairTradePracticesLawsuitsMember" xlink:href="rgr-20231231.xsd#rgr_UnfairTradePracticesLawsuitsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnfairTradePracticesLawsuitsMember_lbl" xml:lang="en-US">Unfair Trade Practices Lawsuits [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnfairTradePracticesLawsuitsMember" xlink:to="rgr_UnfairTradePracticesLawsuitsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_NegligenceLawsuitsMember" xlink:href="rgr-20231231.xsd#rgr_NegligenceLawsuitsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_NegligenceLawsuitsMember_lbl" xml:lang="en-US">Negligence Lawsuits [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NegligenceLawsuitsMember" xlink:to="rgr_NegligenceLawsuitsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SubsequentEventMember_lbl" xml:lang="en-US">Subsequent Event [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ClassOfStockDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ClassOfStockDomain_lbl" xml:lang="en-US">Class of Stock [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_ClassOfStockDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US">Statement [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US">Statement [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductsAndServicesDomain_lbl" xml:lang="en-US">Product and Service [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductsAndServicesDomain" xlink:to="srt_ProductsAndServicesDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EquityComponentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityComponentDomain_lbl" xml:lang="en-US">Equity Component [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_TradeReceivablesNetTable" xlink:href="rgr-20231231.xsd#rgr_TradeReceivablesNetTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_TradeReceivablesNetTable_lbl" xml:lang="en-US">Trade Receivables, Net [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TradeReceivablesNetTable" xlink:to="rgr_TradeReceivablesNetTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_TradeReceivablesNetLineItems" xlink:href="rgr-20231231.xsd#rgr_TradeReceivablesNetLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_TradeReceivablesNetLineItems_lbl" xml:lang="en-US">Trade Receivables, Net [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TradeReceivablesNetLineItems" xlink:to="rgr_TradeReceivablesNetLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_AccruedDividendsTable" xlink:href="rgr-20231231.xsd#rgr_AccruedDividendsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_AccruedDividendsTable_lbl" xml:lang="en-US">Accrued Dividends [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AccruedDividendsTable" xlink:to="rgr_AccruedDividendsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_AccruedDividendsLineItems" xlink:href="rgr-20231231.xsd#rgr_AccruedDividendsLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_AccruedDividendsLineItems_lbl" xml:lang="en-US">Accrued Dividends [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AccruedDividendsLineItems" xlink:to="rgr_AccruedDividendsLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_EmployeeBenefitPlansTable" xlink:href="rgr-20231231.xsd#rgr_EmployeeBenefitPlansTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_EmployeeBenefitPlansTable_lbl" xml:lang="en-US">Employee Benefit Plans [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_EmployeeBenefitPlansTable" xlink:to="rgr_EmployeeBenefitPlansTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_EmployeeBenefitPlansLineItems" xlink:href="rgr-20231231.xsd#rgr_EmployeeBenefitPlansLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_EmployeeBenefitPlansLineItems_lbl" xml:lang="en-US">Employee Benefit Plans [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_EmployeeBenefitPlansLineItems" xlink:to="rgr_EmployeeBenefitPlansLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OtherOperatingIncomeNetTable" xlink:href="rgr-20231231.xsd#rgr_OtherOperatingIncomeNetTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OtherOperatingIncomeNetTable_lbl" xml:lang="en-US">Other Operating Income, Net [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OtherOperatingIncomeNetTable" xlink:to="rgr_OtherOperatingIncomeNetTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OtherOperatingIncomeNetLineItems" xlink:href="rgr-20231231.xsd#rgr_OtherOperatingIncomeNetLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OtherOperatingIncomeNetLineItems_lbl" xml:lang="en-US">Other Operating Income, Net [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OtherOperatingIncomeNetLineItems" xlink:to="rgr_OtherOperatingIncomeNetLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_TradeReceivablesNetTablesTable" xlink:href="rgr-20231231.xsd#rgr_TradeReceivablesNetTablesTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_TradeReceivablesNetTablesTable_lbl" xml:lang="en-US">Trade Receivables, Net (Tables) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TradeReceivablesNetTablesTable" xlink:to="rgr_TradeReceivablesNetTablesTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_TradeReceivablesNetTablesLineItems" xlink:href="rgr-20231231.xsd#rgr_TradeReceivablesNetTablesLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_TradeReceivablesNetTablesLineItems_lbl" xml:lang="en-US">Trade Receivables, Net [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TradeReceivablesNetTablesLineItems" xlink:to="rgr_TradeReceivablesNetTablesLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_PropertyPlantandEquipmentTablesTable" xlink:href="rgr-20231231.xsd#rgr_PropertyPlantandEquipmentTablesTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_PropertyPlantandEquipmentTablesTable_lbl" xml:lang="en-US">Property, Plant and Equipment (Tables) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_PropertyPlantandEquipmentTablesTable" xlink:to="rgr_PropertyPlantandEquipmentTablesTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_PropertyPlantandEquipmentTablesLineItems" xlink:href="rgr-20231231.xsd#rgr_PropertyPlantandEquipmentTablesLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_PropertyPlantandEquipmentTablesLineItems_lbl" xml:lang="en-US">Property, Plant and Equipment [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_PropertyPlantandEquipmentTablesLineItems" xlink:to="rgr_PropertyPlantandEquipmentTablesLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_LeasedAssetsTablesTable" xlink:href="rgr-20231231.xsd#rgr_LeasedAssetsTablesTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_LeasedAssetsTablesTable_lbl" xml:lang="en-US">Leased Assets (Tables) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LeasedAssetsTablesTable" xlink:to="rgr_LeasedAssetsTablesTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_LeasedAssetsTablesLineItems" xlink:href="rgr-20231231.xsd#rgr_LeasedAssetsTablesLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_LeasedAssetsTablesLineItems_lbl" xml:lang="en-US">Leased Assets [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LeasedAssetsTablesLineItems" xlink:to="rgr_LeasedAssetsTablesLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OtherOperatingIncomeNetTablesTable" xlink:href="rgr-20231231.xsd#rgr_OtherOperatingIncomeNetTablesTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OtherOperatingIncomeNetTablesTable_lbl" xml:lang="en-US">Other Operating Income, Net (Tables) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OtherOperatingIncomeNetTablesTable" xlink:to="rgr_OtherOperatingIncomeNetTablesTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OtherOperatingIncomeNetTablesLineItems" xlink:href="rgr-20231231.xsd#rgr_OtherOperatingIncomeNetTablesLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_OtherOperatingIncomeNetTablesLineItems_lbl" xml:lang="en-US">Other Operating Income, Net [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OtherOperatingIncomeNetTablesLineItems" xlink:to="rgr_OtherOperatingIncomeNetTablesLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedTable" xlink:href="rgr-20231231.xsd#rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedTable_lbl" xml:lang="en-US">Revenue Recognition and Contracts with Customers (Details) - Schedule of Revenue Recognized [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedTable" xlink:to="rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems" xlink:href="rgr-20231231.xsd#rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems_lbl" xml:lang="en-US">Schedule of Revenue Recognized [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems" xlink:to="rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" xml:lang="en-US">Long-Lived Tangible Asset [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xml:lang="en-US">Property, Plant and Equipment [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US">Property, Plant and Equipment [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xml:lang="en-US">Award Type [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable" xlink:href="rgr-20231231.xsd#rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable_lbl" xml:lang="en-US">Leased Assets (Details) - Schedule of Right-of-Use Assets and Related Lease Liabilities [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable" xlink:to="rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems" xlink:href="rgr-20231231.xsd#rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems_lbl" xml:lang="en-US">Leased Assets (Details) - Schedule of Right-of-Use Assets and Related Lease Liabilities [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems" xlink:to="rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LeaseContractualTermDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseContractualTermDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseContractualTermDomain_lbl" xml:lang="en-US">Lease Contractual Term [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseContractualTermDomain" xlink:to="us-gaap_LeaseContractualTermDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesTable" xlink:href="rgr-20231231.xsd#rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesTable_lbl" xml:lang="en-US">Leased Assets (Details) - Schedule of Operating Lease Liabilities [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesTable" xlink:to="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:href="rgr-20231231.xsd#rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems_lbl" xml:lang="en-US">Schedule of Operating Lease Liabilities [Line items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:to="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectOfFourthQuarterEventsTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfFourthQuarterEventsTypeDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectOfFourthQuarterEventsTypeDomain_lbl" xml:lang="en-US">Effect of Fourth Quarter Events, Type [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfFourthQuarterEventsTypeDomain" xlink:to="us-gaap_EffectOfFourthQuarterEventsTypeDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardDateDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardDateDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AwardDateDomain_lbl" xml:lang="en-US">Award Date [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardDateDomain" xlink:to="us-gaap_AwardDateDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ClassOfTreasuryStockTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfTreasuryStockTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ClassOfTreasuryStockTable_lbl" xml:lang="en-US">Class of Treasury Stock [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfTreasuryStockTable" xlink:to="us-gaap_ClassOfTreasuryStockTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems_lbl" xml:lang="en-US">Schedule of Repurchased Shares of its Common Stock [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems" xlink:to="rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentDomain_lbl" xml:lang="en-US">Segments [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentDomain" xlink:to="us-gaap_SegmentDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingInformationLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xml:lang="en-US">Schedule of Operating Segment Financial Information [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_SegmentReportingInformationLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductWarrantyLiabilityTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyLiabilityTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyLiabilityTable_lbl" xml:lang="en-US">Product Warranty Liability [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyLiabilityTable" xlink:to="us-gaap_ProductWarrantyLiabilityTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyLiabilityLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems_lbl" xml:lang="en-US">Product Warranty Liability [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ProductWarrantyLiabilityLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityContingencyTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductLiabilityContingencyTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductLiabilityContingencyTable_lbl" xml:lang="en-US">Product Liability Contingency [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductLiabilityContingencyTable" xlink:to="us-gaap_ProductLiabilityContingencyTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityContingencyLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductLiabilityContingencyLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductLiabilityContingencyLineItems_lbl" xml:lang="en-US">Product Liability Contingency [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductLiabilityContingencyLineItems" xlink:to="us-gaap_ProductLiabilityContingencyLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xml:lang="en-US">Concentration Risk Benchmark [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xml:lang="en-US">Concentration Risk Type [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_SummaryofSignificantAccountingPoliciesDetailsTable" xlink:href="rgr-20231231.xsd#rgr_SummaryofSignificantAccountingPoliciesDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_SummaryofSignificantAccountingPoliciesDetailsTable_lbl" xml:lang="en-US">Summary of Significant Accounting Policies (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_SummaryofSignificantAccountingPoliciesDetailsTable" xlink:to="rgr_SummaryofSignificantAccountingPoliciesDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_SummaryOfSignificantAccountingPoliciesLineItems" xlink:href="rgr-20231231.xsd#rgr_SummaryOfSignificantAccountingPoliciesLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_SummaryOfSignificantAccountingPoliciesLineItems_lbl" xml:lang="en-US">Summary of Significant Accounting Policies [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="rgr_SummaryOfSignificantAccountingPoliciesLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_lbl" xml:lang="en-US">Financial Instruments [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_RevenueRecognitionandContractswithCustomersDetailsTable" xlink:href="rgr-20231231.xsd#rgr_RevenueRecognitionandContractswithCustomersDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_RevenueRecognitionandContractswithCustomersDetailsTable_lbl" xml:lang="en-US">Revenue Recognition and Contracts with Customers (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_RevenueRecognitionandContractswithCustomersDetailsTable" xlink:to="rgr_RevenueRecognitionandContractswithCustomersDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_RevenueRecognitionAndContractsWithCustomersLineItems" xlink:href="rgr-20231231.xsd#rgr_RevenueRecognitionAndContractsWithCustomersLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_RevenueRecognitionAndContractsWithCustomersLineItems_lbl" xml:lang="en-US">Revenue Recognition and Contracts with Customers [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_RevenueRecognitionAndContractsWithCustomersLineItems" xlink:to="rgr_RevenueRecognitionAndContractsWithCustomersLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_NameOfMajorCustomerDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xml:lang="en-US">Customer [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_TradeReceivablesNetDetailsTable" xlink:href="rgr-20231231.xsd#rgr_TradeReceivablesNetDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_TradeReceivablesNetDetailsTable_lbl" xml:lang="en-US">Trade Receivables, Net (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TradeReceivablesNetDetailsTable" xlink:to="rgr_TradeReceivablesNetDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_TradeReceivablesNetDetailsLineItems" xlink:href="rgr-20231231.xsd#rgr_TradeReceivablesNetDetailsLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_TradeReceivablesNetDetailsLineItems_lbl" xml:lang="en-US">Trade Receivables, Net (Details) [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TradeReceivablesNetDetailsLineItems" xlink:to="rgr_TradeReceivablesNetDetailsLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OtherAssetsDetailsTable" xlink:href="rgr-20231231.xsd#rgr_OtherAssetsDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OtherAssetsDetailsTable_lbl" xml:lang="en-US">Other Assets (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OtherAssetsDetailsTable" xlink:to="rgr_OtherAssetsDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OtherAssetsLineItems" xlink:href="rgr-20231231.xsd#rgr_OtherAssetsLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OtherAssetsLineItems_lbl" xml:lang="en-US">Other Assets [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OtherAssetsLineItems" xlink:to="rgr_OtherAssetsLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CreditFacilityDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityDomain_lbl" xml:lang="en-US">Credit Facility [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_CreditFacilityDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_LineofCreditDetailsTable" xlink:href="rgr-20231231.xsd#rgr_LineofCreditDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_LineofCreditDetailsTable_lbl" xml:lang="en-US">Line of Credit (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LineofCreditDetailsTable" xlink:to="rgr_LineofCreditDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_LineofCreditDetailsLineItems" xlink:href="rgr-20231231.xsd#rgr_LineofCreditDetailsLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_LineofCreditDetailsLineItems_lbl" xml:lang="en-US">Line of Credit (Details) [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LineofCreditDetailsLineItems" xlink:to="rgr_LineofCreditDetailsLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl" xml:lang="en-US">Title of Individual [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_VestingPeriodDomainDomain" xlink:href="rgr-20231231.xsd#rgr_VestingPeriodDomainDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_VestingPeriodDomainDomain_lbl" xml:lang="en-US">VestingPeriodDomain [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestingPeriodDomainDomain" xlink:to="rgr_VestingPeriodDomainDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_RangeMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeMember_lbl" xml:lang="en-US">Statistical Measurement [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameDomain_lbl" xml:lang="en-US">Plan Name [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameDomain" xlink:to="us-gaap_PlanNameDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CompensationPlansDetailsTable" xlink:href="rgr-20231231.xsd#rgr_CompensationPlansDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CompensationPlansDetailsTable_lbl" xml:lang="en-US">Compensation Plans (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CompensationPlansDetailsTable" xlink:to="rgr_CompensationPlansDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US">Compensation Plans [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_SegmentGeographicalDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_SegmentGeographicalDomain_lbl" xml:lang="en-US">Geographical [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OperatingSegmentInformationDetailsTable" xlink:href="rgr-20231231.xsd#rgr_OperatingSegmentInformationDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OperatingSegmentInformationDetailsTable_lbl" xml:lang="en-US">Operating Segment Information (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OperatingSegmentInformationDetailsTable" xlink:to="rgr_OperatingSegmentInformationDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskLineItems_lbl" xml:lang="en-US">Operating Segment Information [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionDomain_lbl" xml:lang="en-US">Related Party Transaction [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionDomain" xlink:to="us-gaap_RelatedPartyTransactionDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_RelatedPartyTransactionsDetailsTable" xlink:href="rgr-20231231.xsd#rgr_RelatedPartyTransactionsDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_RelatedPartyTransactionsDetailsTable_lbl" xml:lang="en-US">Related Party Transactions (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_RelatedPartyTransactionsDetailsTable" xlink:to="rgr_RelatedPartyTransactionsDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionLineItems_lbl" xml:lang="en-US">Related Party Transactions [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RelatedPartyTransactionLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyNatureDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyNatureDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyNatureDomain_lbl" xml:lang="en-US">Loss Contingency, Nature [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="us-gaap_LossContingencyNatureDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ContingentLiabilitiesDetailsTable" xlink:href="rgr-20231231.xsd#rgr_ContingentLiabilitiesDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ContingentLiabilitiesDetailsTable_lbl" xml:lang="en-US">Contingent Liabilities (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ContingentLiabilitiesDetailsTable" xlink:to="rgr_ContingentLiabilitiesDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ContingentLiabilitiesDetailsLineItems" xlink:href="rgr-20231231.xsd#rgr_ContingentLiabilitiesDetailsLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ContingentLiabilitiesDetailsLineItems_lbl" xml:lang="en-US">Contingent Liabilities (Details) [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ContingentLiabilitiesDetailsLineItems" xlink:to="rgr_ContingentLiabilitiesDetailsLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTypeDomain_lbl" xml:lang="en-US">Subsequent Event Type [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventTypeDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_SubsequentEventsDetailsTable" xlink:href="rgr-20231231.xsd#rgr_SubsequentEventsDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_SubsequentEventsDetailsTable_lbl" xml:lang="en-US">Subsequent Events (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_SubsequentEventsDetailsTable" xlink:to="rgr_SubsequentEventsDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventLineItems_lbl" xml:lang="en-US">Subsequent Event [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_SubsequentEventLineItems_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_AllowanceForDiscountsAccountsReceivableCurrent_lbl0" xml:lang="en-US">Allowance For Discounts Accounts Receivable Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AllowanceForDiscountsAccountsReceivableCurrent" xlink:to="rgr_AllowanceForDiscountsAccountsReceivableCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes_lbl0" xml:lang="en-US">Capitalized and amortized over for income tax purposes.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes" xlink:to="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_DividendsCommonStockUnpaid_lbl0" xml:lang="en-US">Amount of dividends declared, but unpaid, during period.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DividendsCommonStockUnpaid" xlink:to="rgr_DividendsCommonStockUnpaid_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_EmployeeCompensation_lbl0" xml:lang="en-US">Employee compensation.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_EmployeeCompensation" xlink:to="rgr_EmployeeCompensation_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_ExcessAndObsolescenceInventoryReserves_lbl0" xml:lang="en-US">Excess and obsolescence inventory reserve.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ExcessAndObsolescenceInventoryReserves" xlink:to="rgr_ExcessAndObsolescenceInventoryReserves_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_IncreaseDecreaseInProductLiability_lbl0" xml:lang="en-US">The net change during the reporting period in the Product liability expense which includes the cost of outside legal fees, insurance, and other expenses incurred in the management and defense of product liability matters.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_IncreaseDecreaseInProductLiability" xlink:to="rgr_IncreaseDecreaseInProductLiability_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_LineOfCreditFacilitiesTextBlock_lbl0" xml:lang="en-US">The entire disclosure for short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LineOfCreditFacilitiesTextBlock" xlink:to="rgr_LineOfCreditFacilitiesTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_LossContingencyNumberOfLawsuits_lbl0" xml:lang="en-US">Loss contingency, number of lawsuits.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LossContingencyNumberOfLawsuits" xlink:to="rgr_LossContingencyNumberOfLawsuits_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram_lbl0" xml:lang="en-US">Amount of maximum Dollar Value of Shares that May Yet Be Purchased Under the Program.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram" xlink:to="rgr_MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_OrganizationPolicyTextBlock_lbl0" xml:lang="en-US">Disclosure of accounting policy for organization.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OrganizationPolicyTextBlock" xlink:to="rgr_OrganizationPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_OtherIncomeAndExpensesTableTextBlock_lbl0" xml:lang="en-US">The entire disclosure for the schedule of other income and expenses.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OtherIncomeAndExpensesTableTextBlock" xlink:to="rgr_OtherIncomeAndExpensesTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_PreparationOfFinancialStatementsPolicyTextBlock_lbl0" xml:lang="en-US">Disclosure of accounting policy for the preparation of financial statements.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_PreparationOfFinancialStatementsPolicyTextBlock" xlink:to="rgr_PreparationOfFinancialStatementsPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_ProductLiabilityAccrualNoncurrent_lbl0" xml:lang="en-US">Carrying value as of the balance sheet date of obligations incurred through that date which includes the cost of outside legal fees, insurance, and other expenses incurred in the management and defense of product liability matters and due after one year (or beyond the operating cycle if longer).</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ProductLiabilityAccrualNoncurrent" xlink:to="rgr_ProductLiabilityAccrualNoncurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_ProductLiabilityCurrent_lbl0" xml:lang="en-US">Carrying value as of the balance sheet date of obligations incurred through that date which includes the cost of outside legal fees, insurance, and other expenses incurred in the management and defense of product liability matters For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ProductLiabilityCurrent" xlink:to="rgr_ProductLiabilityCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_RecognizedCostsOfRestrictedStockUnits_lbl0" xml:lang="en-US">The amount of recognized costs of restricted stock units.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_RecognizedCostsOfRestrictedStockUnits" xlink:to="rgr_RecognizedCostsOfRestrictedStockUnits_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_RevenueDeferred_lbl0" xml:lang="en-US">The amount of revenue deferred during the period.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_RevenueDeferred" xlink:to="rgr_RevenueDeferred_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_RevenueRecognitionMultipledeliverableArrangementsTableTextBlock_lbl0" xml:lang="en-US">Tabular disclosure of the recognition of revenue arrangements under which the entity does or will perform multiple revenue-generating activities, categorized by type of arrangement. This item includes certain revenue arrangements that include software elements. This item does not include multiple-deliverable arrangements for industries that prepare disclosures under specific requirements (for instance, construction-type and production-type contracts) otherwise provided for in the taxonomy.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_RevenueRecognitionMultipledeliverableArrangementsTableTextBlock" xlink:to="rgr_RevenueRecognitionMultipledeliverableArrangementsTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded_lbl0" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Remained Unawarded.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded" xlink:to="rgr_ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_ShippingCostPolicyPolicyTextBlock_lbl0" xml:lang="en-US">Disclosure of accounting policy for the classification of shipping and handling costs, including whether the costs are included in cost of sales or included in other income statement accounts. If shipping and handling fees are significant and are not included in cost of sales, disclosure includes both the amounts of such costs and the line item on the income statement which includes such costs.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ShippingCostPolicyPolicyTextBlock" xlink:to="rgr_ShippingCostPolicyPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_ShippingCosts_lbl0" xml:lang="en-US">Cost incurred during the reporting period in shipping and transporting goods and services to customers.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ShippingCosts" xlink:to="rgr_ShippingCosts_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_StockRepurchasesTextBlock_lbl0" xml:lang="en-US">The entire disclosure of stock repurchase.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_StockRepurchasesTextBlock" xlink:to="rgr_StockRepurchasesTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities_lbl0" xml:lang="en-US">Represents maximum limit of aggregate loss incurred annually for providing insurance coverage on annual basis excluding for certain new claims from governments or municipalities.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities" xlink:to="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis_lbl0" xml:lang="en-US">Represents minimum limit of per claim for providing insurance coverage on annual basis.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis" xlink:to="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_TotalOperatingLeaseLiabilities_lbl0" xml:lang="en-US">Present value of lessee&apos;s discounted obligation for lease payments from operating lease.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TotalOperatingLeaseLiabilities" xlink:to="rgr_TotalOperatingLeaseLiabilities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_UnrecognizedCompensationCost_lbl0" xml:lang="en-US">Amount of unrecognized compensation cost.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnrecognizedCompensationCost" xlink:to="rgr_UnrecognizedCompensationCost_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_ValuationAllowancesAndReservesLegalFees_lbl0" xml:lang="en-US">Valuation Allowances And Reserves Legal Fees</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ValuationAllowancesAndReservesLegalFees" xlink:to="rgr_ValuationAllowancesAndReservesLegalFees_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_ValuationAllowancesAndReservesSettlements_lbl0" xml:lang="en-US">Valuation Allowances And Reserves Settlements</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ValuationAllowancesAndReservesSettlements" xlink:to="rgr_ValuationAllowancesAndReservesSettlements_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_VestingPeriodAxis_lbl0" xml:lang="en-US">Vesting Period [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestingPeriodAxis" xlink:to="rgr_VestingPeriodAxis_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_AccruedLegalExpenseMember_lbl0" xml:lang="en-US">Accrued Legal Expense [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AccruedLegalExpenseMember" xlink:to="rgr_AccruedLegalExpenseMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_CustomerOneMember_lbl0" xml:lang="en-US">Customer One [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CustomerOneMember" xlink:to="rgr_CustomerOneMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_CustomerThreeMember_lbl0" xml:lang="en-US">Customer Three [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CustomerThreeMember" xlink:to="rgr_CustomerThreeMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_CustomerTwoMember_lbl0" xml:lang="en-US">Customer Two [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CustomerTwoMember" xlink:to="rgr_CustomerTwoMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_DavidsonsMember_lbl0" xml:lang="en-US">Davidsons [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DavidsonsMember" xlink:to="rgr_DavidsonsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_DeferredStockMember_lbl0" xml:lang="en-US">Deferred Stock [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DeferredStockMember" xlink:to="rgr_DeferredStockMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_FirearmsMember_lbl1" xml:lang="en-US">Firearms [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FirearmsMember" xlink:to="rgr_FirearmsMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_LipseysMember_lbl0" xml:lang="en-US">Lipsey&apos;s [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LipseysMember" xlink:to="rgr_LipseysMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_MunicipalLawsuitsMember_lbl0" xml:lang="en-US">Municipal Lawsuits [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_MunicipalLawsuitsMember" xlink:to="rgr_MunicipalLawsuitsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_NationalRifleAssociationMember_lbl0" xml:lang="en-US">National Rifle Association [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NationalRifleAssociationMember" xlink:to="rgr_NationalRifleAssociationMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_ProductInsurancePremiumExpenseMember_lbl0" xml:lang="en-US">Product Insurance Premium Expense [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ProductInsurancePremiumExpenseMember" xlink:to="rgr_ProductInsurancePremiumExpenseMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_ProductLiabilityReserveMember_lbl0" xml:lang="en-US">Product Liability Reserve [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ProductLiabilityReserveMember" xlink:to="rgr_ProductLiabilityReserveMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_SportsSouthMember_lbl0" xml:lang="en-US">Sports South [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_SportsSouthMember" xlink:to="rgr_SportsSouthMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_StockIncentivePlan2017Member_lbl0" xml:lang="en-US">Stock Incentive Plan 2017 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_StockIncentivePlan2017Member" xlink:to="rgr_StockIncentivePlan2017Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_TradeNameMember_lbl0" xml:lang="en-US">Trade name [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TradeNameMember" xlink:to="rgr_TradeNameMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_UnaffiliatedCastingsMember_lbl1" xml:lang="en-US">A component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity&apos;s financial statements.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnaffiliatedCastingsMember" xlink:to="rgr_UnaffiliatedCastingsMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_VestingMayTwoThousandTwentyTwoMember_lbl0" xml:lang="en-US">Vesting May 2022 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestingMayTwoThousandTwentyTwoMember" xlink:to="rgr_VestingMayTwoThousandTwentyTwoMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_lbl1" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesBalance" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_FourthQuarter2022Member_lbl0" xml:lang="en-US">Fourth Quarter2022 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FourthQuarter2022Member" xlink:to="rgr_FourthQuarter2022Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl0" xml:lang="en-US">Other Nonoperating Income (Expense)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_November26ToDecember31Member_lbl0" xml:lang="en-US">November26 To December31 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_November26ToDecember31Member" xlink:to="rgr_November26ToDecember31Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CommonStockNonVotingParValue1Abstract_lbl0" xml:lang="en-US">Common Stock Non Voting Par Value1 Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CommonStockNonVotingParValue1Abstract" xlink:to="rgr_CommonStockNonVotingParValue1Abstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CustomerOneMember_lbl1" xml:lang="en-US">Customer One Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CustomerOneMember" xlink:to="rgr_CustomerOneMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl0" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ValuationAllowancesAndReservesLegalFees_lbl1" xml:lang="en-US">Valuation Allowances And Reserves Legal Fees</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ValuationAllowancesAndReservesLegalFees" xlink:to="rgr_ValuationAllowancesAndReservesLegalFees_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl0" xml:lang="en-US">Deferred Tax Assets, Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl0" xml:lang="en-US">Assets [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl0" xml:lang="en-US">Operating Lease, Liability, Noncurrent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAccountsPayableAndAccruedLiabilities_lbl0" xml:lang="en-US">Other Accounts Payable and Accrued Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_OtherAccountsPayableAndAccruedLiabilities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl0" xml:lang="en-US">Share-Based Payment Arrangement, Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_VestInJune2024Member_lbl0" xml:lang="en-US">Vest In June2024 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestInJune2024Member" xlink:to="rgr_VestInJune2024Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl0" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Two</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_lbl0" xml:lang="en-US">Deferred Tax Liabilities, Other</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesOther" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentIncomeInterest_lbl0" xml:lang="en-US">Investment Income, Interest</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentIncomeInterest" xlink:to="us-gaap_InvestmentIncomeInterest_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl0" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued_lbl0" xml:lang="en-US">Deferred Compensation Arrangement with Individual, Shares Issued</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl1" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock_lbl0" xml:lang="en-US">Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:to="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_TraditionalProductLiabilityMember_lbl1" xml:lang="en-US">Traditional Product Liability Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TraditionalProductLiabilityMember" xlink:to="rgr_TraditionalProductLiabilityMember_lbl1"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfOperatingSegmentFinancialInformationAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfOperatingSegmentFinancialInformationAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfOperatingSegmentFinancialInformationAbstract_lbl" xml:lang="en-US">Schedule Of Operating Segment Financial Information Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfOperatingSegmentFinancialInformationAbstract" xlink:to="rgr_ScheduleOfOperatingSegmentFinancialInformationAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredOtherTaxExpenseBenefit_lbl0" xml:lang="en-US">Deferred Other Tax Expense (Benefit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredOtherTaxExpenseBenefit" xlink:to="us-gaap_DeferredOtherTaxExpenseBenefit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenueAdditions_lbl0" xml:lang="en-US">Deferred Revenue, Additions</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueAdditions" xlink:to="us-gaap_DeferredRevenueAdditions_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableTradeCurrent_lbl0" xml:lang="en-US">Accounts Payable, Trade, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableTradeCurrent" xlink:to="us-gaap_AccountsPayableTradeCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CastingsSalesMember_lbl0" xml:lang="en-US">Castings Sales Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CastingsSalesMember" xlink:to="rgr_CastingsSalesMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityAbstract_lbl0" xml:lang="en-US">Equity, Attributable to Parent [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_a17458620OutstandingAbstract_lbl0" xml:lang="en-US">a17458620 Outstanding Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_a17458620OutstandingAbstract" xlink:to="rgr_a17458620OutstandingAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_US_lbl0" xml:lang="en-US">UNITED STATES</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl0" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ThirdQuarter2022Member_lbl0" xml:lang="en-US">Third Quarter2022 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThirdQuarter2022Member" xlink:to="rgr_ThirdQuarter2022Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_NationalRifleAssociationMember_lbl1" xml:lang="en-US">National Rifle Association Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NationalRifleAssociationMember" xlink:to="rgr_NationalRifleAssociationMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl0" xml:lang="en-US">Deferred Income Tax Assets, Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsMember_lbl0" xml:lang="en-US">Other Assets [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsMember" xlink:to="us-gaap_OtherAssetsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl0" xml:lang="en-US">Line of Credit Facility, Unused Capacity, Commitment Fee Percentage</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentExpenditureAdditionToLongLivedAssets_lbl0" xml:lang="en-US">Segment, Expenditure, Addition to Long-Lived Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentExpenditureAdditionToLongLivedAssets" xlink:to="us-gaap_SegmentExpenditureAdditionToLongLivedAssets_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl0" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock_lbl0" xml:lang="en-US">Schedule of Accounts Payable and Accrued Liabilities [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_October29ToNovember25Member_lbl0" xml:lang="en-US">October29 To November25 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_October29ToNovember25Member" xlink:to="rgr_October29ToNovember25Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyClaimsSettledNumber_lbl0" xml:lang="en-US">Loss Contingency, Claims Settled, Number</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyClaimsSettledNumber" xlink:to="us-gaap_LossContingencyClaimsSettledNumber_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CapitalExpendituresAbstract_lbl0" xml:lang="en-US">Capital Expenditures Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CapitalExpendituresAbstract" xlink:to="rgr_CapitalExpendituresAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl1" xml:lang="en-US">Earnings Per Share, Diluted</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerRelationshipsMember_lbl0" xml:lang="en-US">Customer Relationships [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerRelationshipsMember" xlink:to="us-gaap_CustomerRelationshipsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl1" xml:lang="en-US">Other Assets, Noncurrent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsMember_lbl0" xml:lang="en-US">Retained Earnings [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductLiabilityAccrualPeriodExpense_lbl1" xml:lang="en-US">Product Liability Accrual, Period Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductLiabilityAccrualPeriodExpense" xlink:to="us-gaap_ProductLiabilityAccrualPeriodExpense_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl0" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract18_lbl0" xml:lang="en-US">Unlabeled Abstract18</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract18" xlink:to="rgr_UnlabeledAbstract18_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract19_lbl0" xml:lang="en-US">Unlabeled Abstract19</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract19" xlink:to="rgr_UnlabeledAbstract19_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract16_lbl0" xml:lang="en-US">Unlabeled Abstract16</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract16" xlink:to="rgr_UnlabeledAbstract16_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl0" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract17_lbl0" xml:lang="en-US">Unlabeled Abstract17</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract17" xlink:to="rgr_UnlabeledAbstract17_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_DenominatorAbstract_lbl0" xml:lang="en-US">Denominator Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DenominatorAbstract" xlink:to="rgr_DenominatorAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonMember_lbl0" xml:lang="en-US">Treasury Stock, Common [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonMember" xlink:to="us-gaap_TreasuryStockCommonMember_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureTextBlockSupplementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockSupplementAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureTextBlockSupplementAbstract_lbl" xml:lang="en-US">Disclosure Text Block Supplement [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureTextBlockSupplementAbstract" xlink:to="us-gaap_DisclosureTextBlockSupplementAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepositAssets_lbl0" xml:lang="en-US">Deposit Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepositAssets" xlink:to="us-gaap_DepositAssets_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl0" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MaximumMember_lbl0" xml:lang="en-US">Maximum [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_RevenueRecognitionMultipledeliverableArrangementsTableTextBlock_lbl1" xml:lang="en-US">Revenue Recognition Multipledeliverable Arrangements Table Text Block</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_RevenueRecognitionMultipledeliverableArrangementsTableTextBlock" xlink:to="rgr_RevenueRecognitionMultipledeliverableArrangementsTableTextBlock_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_EliminationsMember_lbl0" xml:lang="en-US">Eliminations Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_EliminationsMember" xlink:to="rgr_EliminationsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl0" xml:lang="en-US">Significant Accounting Policies [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract21_lbl0" xml:lang="en-US">Unlabeled Abstract21</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract21" xlink:to="rgr_UnlabeledAbstract21_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionAmountsOfTransaction_lbl0" xml:lang="en-US">Related Party Transaction, Amounts of Transaction</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:to="us-gaap_RelatedPartyTransactionAmountsOfTransaction_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract22_lbl0" xml:lang="en-US">Unlabeled Abstract22</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract22" xlink:to="rgr_UnlabeledAbstract22_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract20_lbl0" xml:lang="en-US">Unlabeled Abstract20</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract20" xlink:to="rgr_UnlabeledAbstract20_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl0" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract25_lbl0" xml:lang="en-US">Unlabeled Abstract25</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract25" xlink:to="rgr_UnlabeledAbstract25_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl0" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract26_lbl0" xml:lang="en-US">Unlabeled Abstract26</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract26" xlink:to="rgr_UnlabeledAbstract26_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_LineOfCreditFacilitiesTextBlock_lbl1" xml:lang="en-US">Line Of Credit Facilities Text Block</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LineOfCreditFacilitiesTextBlock" xlink:to="rgr_LineOfCreditFacilitiesTextBlock_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract23_lbl0" xml:lang="en-US">Unlabeled Abstract23</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract23" xlink:to="rgr_UnlabeledAbstract23_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract24_lbl0" xml:lang="en-US">Unlabeled Abstract24</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract24" xlink:to="rgr_UnlabeledAbstract24_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract29_lbl0" xml:lang="en-US">Unlabeled Abstract29</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract29" xlink:to="rgr_UnlabeledAbstract29_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BuildingMember_lbl0" xml:lang="en-US">Building [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingMember" xlink:to="us-gaap_BuildingMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl0" xml:lang="en-US">Common Stock, Shares, Outstanding</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract27_lbl0" xml:lang="en-US">Unlabeled Abstract27</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract27" xlink:to="rgr_UnlabeledAbstract27_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MinimumMember_lbl0" xml:lang="en-US">Minimum [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract28_lbl0" xml:lang="en-US">Unlabeled Abstract28</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract28" xlink:to="rgr_UnlabeledAbstract28_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl0" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Five</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Depreciation_lbl1" xml:lang="en-US">Depreciation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsPayableCurrentAndNoncurrent_lbl0" xml:lang="en-US">Dividends Payable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableCurrentAndNoncurrent" xlink:to="us-gaap_DividendsPayableCurrentAndNoncurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_LossContingencyNumberOfLawsuits_lbl1" xml:lang="en-US">Loss Contingency Number Of Lawsuits</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LossContingencyNumberOfLawsuits" xlink:to="rgr_LossContingencyNumberOfLawsuits_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl0" xml:lang="en-US">Prepaid Expense and Other Assets, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_lbl0" xml:lang="en-US">Other Operating Income (Expense), Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherOperatingIncomeExpenseNet" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryFinishedGoods_lbl0" xml:lang="en-US">Inventory, Finished Goods, Gross</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoods" xlink:to="us-gaap_InventoryFinishedGoods_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl0" xml:lang="en-US">Additional Paid-in Capital [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract32_lbl0" xml:lang="en-US">Unlabeled Abstract32</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract32" xlink:to="rgr_UnlabeledAbstract32_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract33_lbl0" xml:lang="en-US">Unlabeled Abstract33</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract33" xlink:to="rgr_UnlabeledAbstract33_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract30_lbl0" xml:lang="en-US">Unlabeled Abstract30</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract30" xlink:to="rgr_UnlabeledAbstract30_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract31_lbl0" xml:lang="en-US">Unlabeled Abstract31</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract31" xlink:to="rgr_UnlabeledAbstract31_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract36_lbl0" xml:lang="en-US">Unlabeled Abstract36</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract36" xlink:to="rgr_UnlabeledAbstract36_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract37_lbl0" xml:lang="en-US">Unlabeled Abstract37</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract37" xlink:to="rgr_UnlabeledAbstract37_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpensesAbstract_lbl0" xml:lang="en-US">Operating Expenses [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl0" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract34_lbl0" xml:lang="en-US">Unlabeled Abstract34</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract34" xlink:to="rgr_UnlabeledAbstract34_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract35_lbl0" xml:lang="en-US">Unlabeled Abstract35</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract35" xlink:to="rgr_UnlabeledAbstract35_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedIncomeTaxesCurrent_lbl0" xml:lang="en-US">Accrued Income Taxes, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedIncomeTaxesCurrent" xlink:to="us-gaap_AccruedIncomeTaxesCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ExcessAndObsolescenceInventoryReserves_lbl1" xml:lang="en-US">Excess And Obsolescence Inventory Reserves</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ExcessAndObsolescenceInventoryReserves" xlink:to="rgr_ExcessAndObsolescenceInventoryReserves_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl0" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year One</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WorkersCompensationLiabilityCurrent_lbl0" xml:lang="en-US">Workers&apos; Compensation Liability, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WorkersCompensationLiabilityCurrent" xlink:to="us-gaap_WorkersCompensationLiabilityCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_lbl0" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Percent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl0" xml:lang="en-US">Stock Issued During Period, Shares, Restricted Stock Award, Gross</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl1" xml:lang="en-US">Property, Plant and Equipment, Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram_lbl1" xml:lang="en-US">Maximum Dollar Value Of Shares That May Yet Be Purchased Under The Program</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram" xlink:to="rgr_MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonValue_lbl0" xml:lang="en-US">Treasury Stock, Common, Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonValue" xlink:to="us-gaap_TreasuryStockCommonValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl0" xml:lang="en-US">Payments for Repurchase of Common Stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl0" xml:lang="en-US">Income Tax, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_DeferredStockMember_lbl1" xml:lang="en-US">Deferred Stock Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DeferredStockMember" xlink:to="rgr_DeferredStockMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Goodwill_lbl0" xml:lang="en-US">Goodwill</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CorporateMember_lbl0" xml:lang="en-US">Corporate Segment [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CorporateMember" xlink:to="us-gaap_CorporateMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl0" xml:lang="en-US">Accounts Receivable [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfRevenueRecognizedAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfRevenueRecognizedAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfRevenueRecognizedAbstract_lbl" xml:lang="en-US">Schedule Of Revenue Recognized Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfRevenueRecognizedAbstract" xlink:to="rgr_ScheduleOfRevenueRecognizedAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl0" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Three</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinancialInstrumentsDisclosureTextBlock_lbl0" xml:lang="en-US">Financial Instruments Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancialInstrumentsDisclosureTextBlock" xlink:to="us-gaap_FinancialInstrumentsDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl0" xml:lang="en-US">Increase (Decrease) in Operating Capital [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl0" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_a202224378568IssuedAbstract_lbl0" xml:lang="en-US">a202224378568 Issued Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_a202224378568IssuedAbstract" xlink:to="rgr_a202224378568IssuedAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ShippingCostPolicyPolicyTextBlock_lbl1" xml:lang="en-US">Shipping Cost Policy Policy Text Block</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ShippingCostPolicyPolicyTextBlock" xlink:to="rgr_ShippingCostPolicyPolicyTextBlock_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition_lbl0" xml:lang="en-US">APIC, Share-Based Payment Arrangement, Restricted Stock Unit, Increase for Cost Recognition</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ReceivablesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReceivablesAbstract_lbl" xml:lang="en-US">Receivables [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesAbstract" xlink:to="us-gaap_ReceivablesAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockExpense_lbl0" xml:lang="en-US">Restricted Stock or Unit Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockExpense" xlink:to="us-gaap_RestrictedStockExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract10_lbl0" xml:lang="en-US">Unlabeled Abstract10</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract10" xlink:to="rgr_UnlabeledAbstract10_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_TotalProductLiabilityExpenseMember_lbl0" xml:lang="en-US">Total Product Liability Expense Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TotalProductLiabilityExpenseMember" xlink:to="rgr_TotalProductLiabilityExpenseMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract11_lbl0" xml:lang="en-US">Unlabeled Abstract11</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract11" xlink:to="rgr_UnlabeledAbstract11_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract14_lbl0" xml:lang="en-US">Unlabeled Abstract14</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract14" xlink:to="rgr_UnlabeledAbstract14_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract15_lbl0" xml:lang="en-US">Unlabeled Abstract15</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract15" xlink:to="rgr_UnlabeledAbstract15_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract12_lbl0" xml:lang="en-US">Unlabeled Abstract12</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract12" xlink:to="rgr_UnlabeledAbstract12_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ProductInsurancePremiumExpenseMember_lbl1" xml:lang="en-US">Product Insurance Premium Expense Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ProductInsurancePremiumExpenseMember" xlink:to="rgr_ProductInsurancePremiumExpenseMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract13_lbl0" xml:lang="en-US">Unlabeled Abstract13</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract13" xlink:to="rgr_UnlabeledAbstract13_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfTreasuryStockByClassTextBlock_lbl0" xml:lang="en-US">Class of Treasury Stock [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfTreasuryStockByClassTextBlock" xlink:to="us-gaap_ScheduleOfTreasuryStockByClassTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis_lbl1" xml:lang="en-US">Threshold Limit Of Losses Per Transaction For Taking Insurance Coverage On Annual Basis</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis" xlink:to="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ProductLiabilityCurrent_lbl1" xml:lang="en-US">Product Liability Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ProductLiabilityCurrent" xlink:to="rgr_ProductLiabilityCurrent_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_lbl0" xml:lang="en-US">Increase (Decrease) in Other Operating Assets and Liabilities, Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ExportSalesMember_lbl0" xml:lang="en-US">Export Sales Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ExportSalesMember" xlink:to="rgr_ExportSalesMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract2_lbl0" xml:lang="en-US">Unlabeled Abstract2</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract2" xlink:to="rgr_UnlabeledAbstract2_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract1_lbl0" xml:lang="en-US">Unlabeled Abstract1</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract1" xlink:to="rgr_UnlabeledAbstract1_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract4_lbl0" xml:lang="en-US">Unlabeled Abstract4</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract4" xlink:to="rgr_UnlabeledAbstract4_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ProductLiabilityAccrualNoncurrent_lbl1" xml:lang="en-US">Product Liability Accrual Noncurrent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ProductLiabilityAccrualNoncurrent" xlink:to="rgr_ProductLiabilityAccrualNoncurrent_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract3_lbl0" xml:lang="en-US">Unlabeled Abstract3</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract3" xlink:to="rgr_UnlabeledAbstract3_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_lbl0" xml:lang="en-US">Proceeds from Sale, Maturity and Collection of Investments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:to="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_a202324437020IssuedAbstract_lbl0" xml:lang="en-US">a202324437020 Issued Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_a202324437020IssuedAbstract" xlink:to="rgr_a202324437020IssuedAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl0" xml:lang="en-US">Gain (Loss) on Disposition of Property Plant Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract0_lbl0" xml:lang="en-US">Unlabeled Abstract0</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract0" xlink:to="rgr_UnlabeledAbstract0_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl0" xml:lang="en-US">Accounts Payable and Accrued Liabilities Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_lbl1" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Cost and Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract9_lbl0" xml:lang="en-US">Unlabeled Abstract9</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract9" xlink:to="rgr_UnlabeledAbstract9_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl0" xml:lang="en-US">Common Stock, Capital Shares Reserved for Future Issuance</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract6_lbl0" xml:lang="en-US">Unlabeled Abstract6</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract6" xlink:to="rgr_UnlabeledAbstract6_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract5_lbl0" xml:lang="en-US">Unlabeled Abstract5</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract5" xlink:to="rgr_UnlabeledAbstract5_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract8_lbl0" xml:lang="en-US">Unlabeled Abstract8</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract8" xlink:to="rgr_UnlabeledAbstract8_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract7_lbl0" xml:lang="en-US">Unlabeled Abstract7</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract7" xlink:to="rgr_UnlabeledAbstract7_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsMiscellaneous_lbl0" xml:lang="en-US">Other Assets, Miscellaneous</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsMiscellaneous" xlink:to="us-gaap_OtherAssetsMiscellaneous_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ThirdQuarter2022Abstract_lbl0" xml:lang="en-US">Third Quarter2022 Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThirdQuarter2022Abstract" xlink:to="rgr_ThirdQuarter2022Abstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CommonStockParValue1Abstract_lbl0" xml:lang="en-US">Common Stock Par Value1 Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CommonStockParValue1Abstract" xlink:to="rgr_CommonStockParValue1Abstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl0" xml:lang="en-US">Inventory Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsInventory_lbl0" xml:lang="en-US">Deferred Tax Assets, Inventory</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsInventory" xlink:to="us-gaap_DeferredTaxAssetsInventory_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl0" xml:lang="en-US">Cash and Cash Equivalents, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense_lbl0" xml:lang="en-US">Deferred Compensation Arrangement with Individual, Compensation Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_lbl0" xml:lang="en-US">Stock Repurchase Program, Remaining Authorized Repurchase Amount</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:to="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_NationalShootingSportsFoundationMember_lbl0" xml:lang="en-US">National Shooting Sports Foundation Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NationalShootingSportsFoundationMember" xlink:to="rgr_NationalShootingSportsFoundationMember_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfOperatingLeaseLiabilitiesAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfOperatingLeaseLiabilitiesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfOperatingLeaseLiabilitiesAbstract_lbl" xml:lang="en-US">Schedule Of Operating Lease Liabilities Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfOperatingLeaseLiabilitiesAbstract" xlink:to="rgr_ScheduleOfOperatingLeaseLiabilitiesAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl0" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryLIFOReserve_lbl1" xml:lang="en-US">Inventory, LIFO Reserve</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryLIFOReserve" xlink:to="us-gaap_InventoryLIFOReserve_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnlabeledAbstract_lbl0" xml:lang="en-US">Unlabeled Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnlabeledAbstract" xlink:to="rgr_UnlabeledAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl0" xml:lang="en-US">Line of Credit Facility, Maximum Borrowing Capacity</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl0" xml:lang="en-US">Common Stock, Shares Authorized</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_LeasedAssetsTablesLineItems_lbl0" xml:lang="en-US">Leased Assets Tables Line Items</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LeasedAssetsTablesLineItems" xlink:to="rgr_LeasedAssetsTablesLineItems_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_TotalOperatingLeaseLiabilities_lbl1" xml:lang="en-US">Total Operating Lease Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TotalOperatingLeaseLiabilities" xlink:to="rgr_TotalOperatingLeaseLiabilities_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FederalIncomeTaxNoteTextBlock_lbl0" xml:lang="en-US">Federal Income Tax Note [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FederalIncomeTaxNoteTextBlock" xlink:to="us-gaap_FederalIncomeTaxNoteTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities_lbl1" xml:lang="en-US">Threshold Limit Of Aggregate Loss For Insurance Coverage On Annual Basis Excluding New Claims From Governments Or Municipalities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities" xlink:to="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_lbl0" xml:lang="en-US">Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:to="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl0" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Two</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ValuationAllowancesAndReservesSettlements_lbl1" xml:lang="en-US">Valuation Allowances And Reserves Settlements</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ValuationAllowancesAndReservesSettlements" xlink:to="rgr_ValuationAllowancesAndReservesSettlements_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl0" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_lbl2" xml:lang="en-US">Equity, Attributable to Parent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl2"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl0" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Other Adjustments, Percent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_FourthQuarter2023Abstract_lbl0" xml:lang="en-US">Fourth Quarter2023 Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FourthQuarter2023Abstract" xlink:to="rgr_FourthQuarter2023Abstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductLiabilityContingenciesTextBlock_lbl0" xml:lang="en-US">Product Liability Contingencies [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductLiabilityContingenciesTextBlock" xlink:to="us-gaap_ProductLiabilityContingenciesTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_FirearmsMember_lbl2" xml:lang="en-US">Firearms Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FirearmsMember" xlink:to="rgr_FirearmsMember_lbl2"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl0" xml:lang="en-US">Related Party Transactions Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnaffiliatedCastingsMember_lbl2" xml:lang="en-US">Unaffiliated Castings Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnaffiliatedCastingsMember" xlink:to="rgr_UnaffiliatedCastingsMember_lbl2"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesMember_lbl0" xml:lang="en-US">Sales [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesMember" xlink:to="us-gaap_SalesMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireInvestments_lbl0" xml:lang="en-US">Payments to Acquire Investments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireInvestments" xlink:to="us-gaap_PaymentsToAcquireInvestments_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl0" xml:lang="en-US">Property, Plant and Equipment, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl0" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl0" xml:lang="en-US">Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl0" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_AccruedLegalExpenseMember_lbl1" xml:lang="en-US">Accrued Legal Expense Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AccruedLegalExpenseMember" xlink:to="rgr_AccruedLegalExpenseMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNet_lbl1" xml:lang="en-US">Inventory, Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl0" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl0" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US">Statement of Financial Position [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TemporaryEquityNetIncome_lbl0" xml:lang="en-US">Temporary Equity, Net Income</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TemporaryEquityNetIncome" xlink:to="us-gaap_TemporaryEquityNetIncome_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesRevenueNetMember_lbl0" xml:lang="en-US">Revenue Benchmark [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedPatentsGross_lbl0" xml:lang="en-US">Finite-Lived Patents, Gross</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedPatentsGross" xlink:to="us-gaap_FiniteLivedPatentsGross_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_DeferredTaxAssetsAbstract_lbl0" xml:lang="en-US">Deferred Tax Assets Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DeferredTaxAssetsAbstract" xlink:to="rgr_DeferredTaxAssetsAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes_lbl1" xml:lang="en-US">Capitalized And Amortized Over For Income Tax Purposes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes" xlink:to="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_lbl0" xml:lang="en-US">Fair Value Measurement, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:to="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl0" xml:lang="en-US">Deferred State and Local Income Tax Expense (Benefit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanAdministrativeExpenses_lbl0" xml:lang="en-US">Defined Contribution Plan, Administrative Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanAdministrativeExpenses" xlink:to="us-gaap_DefinedContributionPlanAdministrativeExpenses_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_LipseysMember_lbl1" xml:lang="en-US">Lipseys Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LipseysMember" xlink:to="rgr_LipseysMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl0" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl0" xml:lang="en-US">Property, Plant and Equipment Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock_lbl0" xml:lang="en-US">Other Income and Other Expense Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:to="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_FourthQuarter2022Abstract_lbl0" xml:lang="en-US">Fourth Quarter2022 Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FourthQuarter2022Abstract" xlink:to="rgr_FourthQuarter2022Abstract_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfRollForwardForProductLiabilityReserveAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfRollForwardForProductLiabilityReserveAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfRollForwardForProductLiabilityReserveAbstract_lbl" xml:lang="en-US">Schedule Of Roll Forward For Product Liability Reserve Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfRollForwardForProductLiabilityReserveAbstract" xlink:to="rgr_ScheduleOfRollForwardForProductLiabilityReserveAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_a20236978400SharesAbstract_lbl0" xml:lang="en-US">a20236978400 Shares Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_a20236978400SharesAbstract" xlink:to="rgr_a20236978400SharesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditMember_lbl0" xml:lang="en-US">Line of Credit [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditMember" xlink:to="us-gaap_LineOfCreditMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_DirectorMember_lbl0" xml:lang="en-US">Director [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_DirectorMember" xlink:to="srt_DirectorMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl0" xml:lang="en-US">Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ToolsDiesAndMoldsMember_lbl1" xml:lang="en-US">Tools, Dies and Molds [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ToolsDiesAndMoldsMember" xlink:to="us-gaap_ToolsDiesAndMoldsMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_lbl0" xml:lang="en-US">Share-Based Payment Arrangement, Noncash Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_DividendsCommonStockUnpaid_lbl1" xml:lang="en-US">Dividends Common Stock Unpaid</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DividendsCommonStockUnpaid" xlink:to="rgr_DividendsCommonStockUnpaid_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl0" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, after Year Five</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_NumeratorAbstract_lbl0" xml:lang="en-US">Numerator Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NumeratorAbstract" xlink:to="rgr_NumeratorAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl0" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl0" xml:lang="en-US">Payment, Tax Withholding, Share-Based Payment Arrangement</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OctoberOneToOctoberTwentyEightMember_lbl0" xml:lang="en-US">October One To October Twenty Eight Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OctoberOneToOctoberTwentyEightMember" xlink:to="rgr_OctoberOneToOctoberTwentyEightMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OperatingLeaseMember_lbl0" xml:lang="en-US">Operating Lease Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OperatingLeaseMember" xlink:to="rgr_OperatingLeaseMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl1" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpenses_lbl0" xml:lang="en-US">Operating Expenses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_TradeReceivablesNetTablesLineItems_lbl0" xml:lang="en-US">Trade Receivables Net Tables Line Items</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TradeReceivablesNetTablesLineItems" xlink:to="rgr_TradeReceivablesNetTablesLineItems_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl0" xml:lang="en-US">Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl0" xml:lang="en-US">Quarterly Financial Information [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl0" xml:lang="en-US">Research and Development Expense, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_InventoryAtFifoAbstract_lbl0" xml:lang="en-US">Inventory At Fifo Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_InventoryAtFifoAbstract" xlink:to="rgr_InventoryAtFifoAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl0" xml:lang="en-US">Deferred Tax Liabilities, Gross</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfOtherAssetsAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfOtherAssetsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfOtherAssetsAbstract_lbl" xml:lang="en-US">Schedule Of Other Assets Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfOtherAssetsAbstract" xlink:to="rgr_ScheduleOfOtherAssetsAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_IntersegmentMember_lbl0" xml:lang="en-US">Intersegment Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_IntersegmentMember" xlink:to="rgr_IntersegmentMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl0" xml:lang="en-US">Property, Plant and Equipment, Useful Life</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CastingsAbstract_lbl0" xml:lang="en-US">Castings Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CastingsAbstract" xlink:to="rgr_CastingsAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl0" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue_lbl0" xml:lang="en-US">Increase (Decrease) in Deferred Revenue</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:to="us-gaap_IncreaseDecreaseInDeferredRevenue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityExpirationDate1_lbl0" xml:lang="en-US">Line of Credit Facility, Expiration Date</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityExpirationDate1" xlink:to="us-gaap_LineOfCreditFacilityExpirationDate1_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl0" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber_lbl0" xml:lang="en-US">Loss Contingency, New Claims Filed, Number</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyNewClaimsFiledNumber" xlink:to="us-gaap_LossContingencyNewClaimsFiledNumber_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl1" xml:lang="en-US">Earnings Per Share, Basic</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryGross_lbl0" xml:lang="en-US">Inventory, Gross</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryGross" xlink:to="us-gaap_InventoryGross_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_lbl0" xml:lang="en-US">Current Federal Tax Expense (Benefit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl0" xml:lang="en-US">Research and Development Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnrecognizedCompensationCost_lbl1" xml:lang="en-US">Unrecognized Compensation Cost</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnrecognizedCompensationCost" xlink:to="rgr_UnrecognizedCompensationCost_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_StockRepurchasesTextBlock_lbl1" xml:lang="en-US">Stock Repurchases Text Block</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_StockRepurchasesTextBlock" xlink:to="rgr_StockRepurchasesTextBlock_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_IncomeLossBeforeIncomeTaxesAbstract_lbl0" xml:lang="en-US">Income Loss Before Income Taxes Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_IncomeLossBeforeIncomeTaxesAbstract" xlink:to="rgr_IncomeLossBeforeIncomeTaxesAbstract_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xml:lang="en-US">Statement of Stockholders&apos; Equity [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl0" xml:lang="en-US">Loans, Notes, Trade and Other Receivables Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:to="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_JulyThreeToJulyThirtyMember_lbl0" xml:lang="en-US">July Three To July Thirty Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_JulyThreeToJulyThirtyMember" xlink:to="rgr_JulyThreeToJulyThirtyMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingencies_lbl0" xml:lang="en-US">Commitments and Contingencies</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl0" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Five</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_NegligenceLawsuitsMember_lbl0" xml:lang="en-US">Negligence Lawsuits Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NegligenceLawsuitsMember" xlink:to="rgr_NegligenceLawsuitsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl0" xml:lang="en-US">Deferred Tax Assets, Net of Valuation Allowance</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract_lbl" xml:lang="en-US">Schedule Of AReconciliation Of The Numerator And Denominator For The Basic And Diluted Earnings Per Share Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract" xlink:to="rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_AllowanceForDiscountsAccountsReceivableCurrent_lbl1" xml:lang="en-US">Allowance For Discounts Accounts Receivable Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AllowanceForDiscountsAccountsReceivableCurrent" xlink:to="rgr_AllowanceForDiscountsAccountsReceivableCurrent_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl0" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year One</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockValue_lbl0" xml:lang="en-US">Common Stock, Value, Issued</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl0" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Four</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiability_lbl1" xml:lang="en-US">Contract with Customer, Liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl0" xml:lang="en-US">Finance Lease, Liability, Noncurrent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_SportsSouthMember_lbl1" xml:lang="en-US">Sports South Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_SportsSouthMember" xlink:to="rgr_SportsSouthMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_IncreaseDecreaseInProductLiability_lbl1" xml:lang="en-US">Increase Decrease In Product Liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_IncreaseDecreaseInProductLiability" xlink:to="rgr_IncreaseDecreaseInProductLiability_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnfairTradePracticesLawsuitsMember_lbl0" xml:lang="en-US">Unfair Trade Practices Lawsuits Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnfairTradePracticesLawsuitsMember" xlink:to="rgr_UnfairTradePracticesLawsuitsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LandAndLandImprovementsMember_lbl0" xml:lang="en-US">Land and Land Improvements [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandAndLandImprovementsMember" xlink:to="us-gaap_LandAndLandImprovementsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableGrossCurrent_lbl0" xml:lang="en-US">Accounts Receivable, before Allowance for Credit Loss, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableGrossCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation_lbl0" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Employee Compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_VestingPeriodAxis_lbl1" xml:lang="en-US">Vesting Period Axis</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestingPeriodAxis" xlink:to="rgr_VestingPeriodAxis_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_EmployeeBenefitPlansLineItems_lbl0" xml:lang="en-US">Employee Benefit Plans Line Items</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_EmployeeBenefitPlansLineItems" xlink:to="rgr_EmployeeBenefitPlansLineItems_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_lbl0" xml:lang="en-US">Common Stock, Dividends, Per Share, Declared</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockDividendsPerShareDeclared" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_lbl1" xml:lang="en-US">Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl0" xml:lang="en-US">APIC, Share-Based Payment Arrangement, Increase for Cost Recognition</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl0" xml:lang="en-US">Deferred Tax Asset, Tax Deferred Expense, Reserve and Accrual, Accounts Receivable, Allowance for Credit Loss</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_NetSalesAbstract_lbl0" xml:lang="en-US">Net Sales Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NetSalesAbstract" xlink:to="rgr_NetSalesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl0" xml:lang="en-US">Subsequent Events [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl0" xml:lang="en-US">Cost of Goods and Services Sold</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableMember_lbl0" xml:lang="en-US">Accounts Receivable [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl0" xml:lang="en-US">Amortization of Intangible Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl0" xml:lang="en-US">Income Taxes Paid, Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl0" xml:lang="en-US">Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NumberOfOperatingSegments_lbl0" xml:lang="en-US">Number of Operating Segments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfOperatingSegments" xlink:to="us-gaap_NumberOfOperatingSegments_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl0" xml:lang="en-US">Income Tax Expense (Benefit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_DavidsonsMember_lbl1" xml:lang="en-US">Davidsons Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DavidsonsMember" xlink:to="rgr_DavidsonsMember_lbl1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeStatementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xml:lang="en-US">Income Statement [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl0" xml:lang="en-US">Schedule of Product Warranty Liability [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CustomerTwoMember_lbl1" xml:lang="en-US">Customer Two Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CustomerTwoMember" xlink:to="rgr_CustomerTwoMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RoyaltyIncomeNonoperating_lbl0" xml:lang="en-US">Royalty Income, Nonoperating</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RoyaltyIncomeNonoperating" xlink:to="us-gaap_RoyaltyIncomeNonoperating_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl0" xml:lang="en-US">Lessee, Operating Leases [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl0" xml:lang="en-US">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl0" xml:lang="en-US">Deferred Income Tax Expense (Benefit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_AuthorizedShares40000000Abstract_lbl0" xml:lang="en-US">Authorized Shares40000000 Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AuthorizedShares40000000Abstract" xlink:to="rgr_AuthorizedShares40000000Abstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockPreferredShares_lbl0" xml:lang="en-US">Treasury Stock, Preferred, Shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockPreferredShares" xlink:to="us-gaap_TreasuryStockPreferredShares_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl1" xml:lang="en-US">Machinery and Equipment [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ChristopherJKilloyMember_lbl0" xml:lang="en-US">Christopher JKilloy Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ChristopherJKilloyMember" xlink:to="rgr_ChristopherJKilloyMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_lbl0" xml:lang="en-US">Deferred Tax Assets, in Process Research and Development</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:to="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherDebtSecuritiesMember_lbl0" xml:lang="en-US">Other Debt Obligations [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherDebtSecuritiesMember" xlink:to="us-gaap_OtherDebtSecuritiesMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl0" xml:lang="en-US">Property, Plant and Equipment, Gross</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl0" xml:lang="en-US">Common Stock [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherIncomeAndExpensesAbstract_lbl0" xml:lang="en-US">Other Income and Expenses [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_OtherIncomeAndExpensesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_StockIncentivePlan2017Member_lbl1" xml:lang="en-US">Stock Incentive Plan2017 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_StockIncentivePlan2017Member" xlink:to="rgr_StockIncentivePlan2017Member_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl0" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl0" xml:lang="en-US">Share-Based Payment Arrangement [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl0" xml:lang="en-US">Increase (Decrease) in Employee Related Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl0" xml:lang="en-US">Inventory, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl0" xml:lang="en-US">Additional Paid in Capital, Common Stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1" xml:lang="en-US">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl0" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_TradeNameMember_lbl1" xml:lang="en-US">Trade Name Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TradeNameMember" xlink:to="rgr_TradeNameMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OtherOperatingIncomeNetTablesLineItems_lbl0" xml:lang="en-US">Other Operating Income Net Tables Line Items</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OtherOperatingIncomeNetTablesLineItems" xlink:to="rgr_OtherOperatingIncomeNetTablesLineItems_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_VestInMay2024Member_lbl0" xml:lang="en-US">Vest In May2024 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestInMay2024Member" xlink:to="rgr_VestInMay2024Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_RecognizedCostsOfRestrictedStockUnits_lbl1" xml:lang="en-US">Recognized Costs Of Restricted Stock Units</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_RecognizedCostsOfRestrictedStockUnits" xlink:to="rgr_RecognizedCostsOfRestrictedStockUnits_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl0" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, after Year Five</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl0" xml:lang="en-US">Shares Acquired, Average Cost Per Share</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_IdentifiableAssetsAbstract_lbl0" xml:lang="en-US">Identifiable Assets Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_IdentifiableAssetsAbstract" xlink:to="rgr_IdentifiableAssetsAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl0" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl0" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract_lbl0" xml:lang="en-US">Deferred Tax Liabilities, Gross [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OctoberTwoToOctoberTwentyNineMember_lbl0" xml:lang="en-US">October Two To October Twenty Nine Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OctoberTwoToOctoberTwentyNineMember" xlink:to="rgr_OctoberTwoToOctoberTwentyNineMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfOtherAssetsTableTextBlock_lbl0" xml:lang="en-US">Schedule of Other Assets [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfOtherAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfOtherAssetsTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TaxesPayableCurrent_lbl0" xml:lang="en-US">Taxes Payable, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxesPayableCurrent" xlink:to="us-gaap_TaxesPayableCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_LessTreasuryStockAtCostAbstract_lbl0" xml:lang="en-US">Less Treasury Stock At Cost Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LessTreasuryStockAtCostAbstract" xlink:to="rgr_LessTreasuryStockAtCostAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventMember_lbl0" xml:lang="en-US">Subsequent Event [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ProductLiabilityReserveMember_lbl1" xml:lang="en-US">Product Liability Reserve Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ProductLiabilityReserveMember" xlink:to="rgr_ProductLiabilityReserveMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OctoberThirtyToNovemberTwentySevenMember_lbl0" xml:lang="en-US">October Thirty To November Twenty Seven Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OctoberThirtyToNovemberTwentySevenMember" xlink:to="rgr_OctoberThirtyToNovemberTwentySevenMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl0" xml:lang="en-US">Increase (Decrease) in Inventories</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount_lbl0" xml:lang="en-US">Defined Contribution Plan, Employer Discretionary Contribution Amount</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:to="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedTradeNamesGross_lbl0" xml:lang="en-US">Finite-Lived Trade Names, Gross</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedTradeNamesGross" xlink:to="us-gaap_FiniteLivedTradeNamesGross_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OtherIncomeAndExpensesTableTextBlock_lbl1" xml:lang="en-US">Other Income And Expenses Table Text Block</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OtherIncomeAndExpensesTableTextBlock" xlink:to="rgr_OtherIncomeAndExpensesTableTextBlock_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_lbl0" xml:lang="en-US">Operating Income (Loss)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiability_lbl0" xml:lang="en-US">Operating Lease, Liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_MunicipalLawsuitsMember_lbl1" xml:lang="en-US">Municipal Lawsuits Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_MunicipalLawsuitsMember" xlink:to="rgr_MunicipalLawsuitsMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonShares_lbl0" xml:lang="en-US">Treasury Stock, Common, Shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl0" xml:lang="en-US">Increase (Decrease) in Contract with Customer, Liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl0" xml:lang="en-US">Current State and Local Tax Expense (Benefit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_VestInMay2023Member_lbl0" xml:lang="en-US">Vest In May2023 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestInMay2023Member" xlink:to="rgr_VestInMay2023Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl0" xml:lang="en-US">Liabilities, Current [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl0" xml:lang="en-US">Nonoperating Income (Expense)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_JulyThirtyoneToAugustTwentySevenMember_lbl0" xml:lang="en-US">July Thirtyone To August Twenty Seven Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_JulyThirtyoneToAugustTwentySevenMember" xlink:to="rgr_JulyThirtyoneToAugustTwentySevenMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OrganizationPolicyTextBlock_lbl1" xml:lang="en-US">Organization Policy Text Block</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OrganizationPolicyTextBlock" xlink:to="rgr_OrganizationPolicyTextBlock_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl0" xml:lang="en-US">Depreciation, Depletion and Amortization</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable_lbl0" xml:lang="en-US">Increase (Decrease) in Income Taxes Payable, Net of Income Taxes Receivable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_VestingInMay2025Member_lbl0" xml:lang="en-US">Vesting In May2025 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestingInMay2025Member" xlink:to="rgr_VestingInMay2025Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationAbstract_lbl0" xml:lang="en-US">Depreciation [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationAbstract" xlink:to="us-gaap_DepreciationAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdvertisingExpense_lbl0" xml:lang="en-US">Advertising Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvertisingExpense" xlink:to="us-gaap_AdvertisingExpense_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US">Statement of Cash Flows [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpense_lbl0" xml:lang="en-US">Interest Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSaleOfOtherAssets_lbl0" xml:lang="en-US">Gain (Loss) on Disposition of Other Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfOtherAssets" xlink:to="us-gaap_GainLossOnSaleOfOtherAssets_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl0" xml:lang="en-US">Income Tax Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CustomerThreeMember_lbl1" xml:lang="en-US">Customer Three Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CustomerThreeMember" xlink:to="rgr_CustomerThreeMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_VestingMayTwoThousandTwentyTwoMember_lbl1" xml:lang="en-US">Vesting May Two Thousand Twenty Two Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestingMayTwoThousandTwentyTwoMember" xlink:to="rgr_VestingMayTwoThousandTwentyTwoMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LegalMattersAndContingenciesTextBlock_lbl0" xml:lang="en-US">Legal Matters and Contingencies [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LegalMattersAndContingenciesTextBlock" xlink:to="us-gaap_LegalMattersAndContingenciesTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_VestInJune2027Member_lbl0" xml:lang="en-US">Vest In June2027 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestInJune2027Member" xlink:to="rgr_VestInJune2027Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsCommonStock_lbl0" xml:lang="en-US">Dividends, Common Stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsCommonStock" xlink:to="us-gaap_DividendsCommonStock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationEffectOnEarningsPerShare_lbl0" xml:lang="en-US">Share-Based Payment Arrangement, Earnings Per Share Computation, Description</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationEffectOnEarningsPerShare" xlink:to="us-gaap_SharebasedCompensationEffectOnEarningsPerShare_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_StockIncentivePlan2023Member_lbl0" xml:lang="en-US">Stock Incentive Plan2023 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_StockIncentivePlan2023Member" xlink:to="rgr_StockIncentivePlan2023Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl0" xml:lang="en-US">Liabilities and Equity [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ShippingCosts_lbl1" xml:lang="en-US">Shipping Costs</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ShippingCosts" xlink:to="rgr_ShippingCosts_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent_lbl1" xml:lang="en-US">Accounts Payable and Accrued Liabilities, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent_lbl0" xml:lang="en-US">Accrued Employee Benefits, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl0" xml:lang="en-US">Treasury Stock, Value, Acquired, Cost Method</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl0" xml:lang="en-US">Assets, Current [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_lbl0" xml:lang="en-US">Stock Repurchase Program, Number of Shares Authorized to be Repurchased</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:to="us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl0" xml:lang="en-US">Revenue [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl1" xml:lang="en-US">Concentration Risk, Percentage</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_VestInJune2026Member_lbl0" xml:lang="en-US">Vest In June2026 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestInJune2026Member" xlink:to="rgr_VestInJune2026Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock_lbl0" xml:lang="en-US">Advertising Cost [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl0" xml:lang="en-US">Earnings Per Share, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl0" xml:lang="en-US">Deferred Federal Income Tax Expense (Benefit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CastingsMember_lbl0" xml:lang="en-US">Castings Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CastingsMember" xlink:to="rgr_CastingsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl0" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl1" xml:lang="en-US">Contract with Customer, Liability, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_EmployeeCompensation_lbl1" xml:lang="en-US">Employee Compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_EmployeeCompensation" xlink:to="rgr_EmployeeCompensation_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl0" xml:lang="en-US">Stock Repurchased During Period, Shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsDisclosureTextBlock_lbl0" xml:lang="en-US">Other Assets Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsDisclosureTextBlock" xlink:to="us-gaap_OtherAssetsDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfFutureMinimumLeasePaymentsTableTextBlock_lbl0" xml:lang="en-US">Schedule Of Future Minimum Lease Payments Table Text Block</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfFutureMinimumLeasePaymentsTableTextBlock" xlink:to="rgr_ScheduleOfFutureMinimumLeasePaymentsTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_TradeAccountsPayableAndAccruedExpensesMember_lbl0" xml:lang="en-US">Trade Accounts Payable And Accrued Expenses Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TradeAccountsPayableAndAccruedExpensesMember" xlink:to="rgr_TradeAccountsPayableAndAccruedExpensesMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl0" xml:lang="en-US">Earnings Per Share [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_lbl1" xml:lang="en-US">Gross Profit</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfDividendsCommonStock_lbl0" xml:lang="en-US">Payments of Ordinary Dividends, Common Stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDividendsCommonStock" xlink:to="us-gaap_PaymentsOfDividendsCommonStock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsPayableAmountPerShare_lbl1" xml:lang="en-US">Dividends Payable, Amount Per Share</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableAmountPerShare" xlink:to="us-gaap_DividendsPayableAmountPerShare_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyDamagesSoughtValue_lbl0" xml:lang="en-US">Loss Contingency, Damages Sought, Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyDamagesSoughtValue" xlink:to="us-gaap_LossContingencyDamagesSoughtValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl0" xml:lang="en-US">Increase (Decrease) in Accounts Payable and Accrued Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Revenues_lbl1" xml:lang="en-US">Revenues</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_AugustTwentyEightToOctoberOneMember_lbl0" xml:lang="en-US">August Twenty Eight To October One Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AugustTwentyEightToOctoberOneMember" xlink:to="rgr_AugustTwentyEightToOctoberOneMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl0" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl0" xml:lang="en-US">Liabilities and Equity</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermInvestments_lbl0" xml:lang="en-US">Short-Term Investments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermInvestments" xlink:to="us-gaap_ShortTermInvestments_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductLiabilityAccrualComponentAmount_lbl0" xml:lang="en-US">Product Liability Accrual, Component Amount</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductLiabilityAccrualComponentAmount" xlink:to="us-gaap_ProductLiabilityAccrualComponentAmount_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember_lbl0" xml:lang="en-US">Building and Building Improvements [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingAndBuildingImprovementsMember" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl0" xml:lang="en-US">General and Administrative Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_RevenueDeferred_lbl1" xml:lang="en-US">Revenue Deferred</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_RevenueDeferred" xlink:to="rgr_RevenueDeferred_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_JophnACosentinoJrMember_lbl0" xml:lang="en-US">Jophn ACosentino Jr Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_JophnACosentinoJrMember" xlink:to="rgr_JophnACosentinoJrMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_lbl0" xml:lang="en-US">Liabilities, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl0" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl0" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Four</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_lbl0" xml:lang="en-US">Assets, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OperatingLeaseLiabilitiesAbstract_lbl0" xml:lang="en-US">Operating Lease Liabilities Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OperatingLeaseLiabilitiesAbstract" xlink:to="rgr_OperatingLeaseLiabilitiesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl0" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonvotingCommonStockMember_lbl0" xml:lang="en-US">Nonvoting Common Stock [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonvotingCommonStockMember" xlink:to="us-gaap_NonvotingCommonStockMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesIssued_lbl0" xml:lang="en-US">Common Stock, Shares, Issued</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl0" xml:lang="en-US">Deferred Tax Liabilities, Property, Plant and Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl1" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryWorkInProcessAndRawMaterials_lbl0" xml:lang="en-US">Inventory, Work in Process and Raw Materials</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:to="us-gaap_InventoryWorkInProcessAndRawMaterials_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl0" xml:lang="en-US">Retirement Benefits [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl1" xml:lang="en-US">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl1"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfProductLiabilityExpenseAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfProductLiabilityExpenseAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfProductLiabilityExpenseAbstract_lbl" xml:lang="en-US">Schedule Of Product Liability Expense Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfProductLiabilityExpenseAbstract" xlink:to="rgr_ScheduleOfProductLiabilityExpenseAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsPayableCurrent_lbl0" xml:lang="en-US">Dividends Payable, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableCurrent" xlink:to="us-gaap_DividendsPayableCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl1" xml:lang="en-US">Accounts Receivable, after Allowance for Credit Loss, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilityReserveEstimatePolicy_lbl0" xml:lang="en-US">Liability Reserve Estimate, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilityReserveEstimatePolicy" xlink:to="us-gaap_LiabilityReserveEstimatePolicy_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl0" xml:lang="en-US">Schedule of Inventory, Current [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_GoodwillAbstract_lbl0" xml:lang="en-US">Goodwill Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_GoodwillAbstract" xlink:to="rgr_GoodwillAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded_lbl1" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Remained Unawarded</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded" xlink:to="rgr_ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingExpense_lbl0" xml:lang="en-US">Selling Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingExpense" xlink:to="us-gaap_SellingExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl0" xml:lang="en-US">Current Income Tax Expense (Benefit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryValuationReserves_lbl1" xml:lang="en-US">Inventory Valuation Reserves</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryValuationReserves" xlink:to="us-gaap_InventoryValuationReserves_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_NovemberTwentySevenToDecemberThirtyOneMember_lbl0" xml:lang="en-US">November Twenty Seven To December Thirty One Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NovemberTwentySevenToDecemberThirtyOneMember" xlink:to="rgr_NovemberTwentySevenToDecemberThirtyOneMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl0" xml:lang="en-US">Operating Lease, Right-of-Use Asset</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1_lbl1" xml:lang="en-US">Deferred Revenue, Revenue Recognized</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueRevenueRecognized1" xlink:to="us-gaap_DeferredRevenueRevenueRecognized1_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl0" xml:lang="en-US">Consolidation, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl0" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Three</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_FourthQuarter2023Member_lbl0" xml:lang="en-US">Fourth Quarter2023 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FourthQuarter2023Member" xlink:to="rgr_FourthQuarter2023Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl0" xml:lang="en-US">Proceeds from Sale of Property, Plant, and Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_LeaseLiabilitiesMember_lbl0" xml:lang="en-US">Lease Liabilities Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LeaseLiabilitiesMember" xlink:to="rgr_LeaseLiabilitiesMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl0" xml:lang="en-US">Customer Concentration Risk [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl0" xml:lang="en-US">Operating Lease, Liability, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl0" xml:lang="en-US">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock_lbl0" xml:lang="en-US">Quarterly Financial Information [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_PreparationOfFinancialStatementsPolicyTextBlock_lbl1" xml:lang="en-US">Preparation Of Financial Statements Policy Text Block</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_PreparationOfFinancialStatementsPolicyTextBlock" xlink:to="rgr_PreparationOfFinancialStatementsPolicyTextBlock_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_PropertyPlantandEquipmentTablesLineItems_lbl0" xml:lang="en-US">Property Plantand Equipment Tables Line Items</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_PropertyPlantandEquipmentTablesLineItems" xlink:to="rgr_PropertyPlantandEquipmentTablesLineItems_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl0" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOther_lbl0" xml:lang="en-US">Deferred Tax Assets, Other</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOther" xlink:to="us-gaap_DeferredTaxAssetsOther_lbl0"/>
  </labelLink>
</linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>11
<FILENAME>rgr-20231231_pre.xml
<DESCRIPTION>XBRL PRESENTATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- Generated by CompSci Transform (tm) - http://www.compsciresources.com -->
<!-- Created: Wed Feb 21 15:51:54 UTC 2024 -->
<linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#PvpDisclosure" roleURI="http://xbrl.sec.gov/ecd/role/PvpDisclosure"/>
  <roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ErrCompDisclosure" roleURI="http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"/>
  <roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#InsiderTradingArrangements" roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"/>
  <roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#AwardTimingDisclosure" roleURI="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ConsolidatedBalanceSheet" roleURI="http://ruger.com/role/ConsolidatedBalanceSheet"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ConsolidatedBalanceSheet_Parentheticals" roleURI="http://ruger.com/role/ConsolidatedBalanceSheet_Parentheticals"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ConsolidatedIncomeStatement" roleURI="http://ruger.com/role/ConsolidatedIncomeStatement"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ShareholdersEquityType2or3" roleURI="http://ruger.com/role/ShareholdersEquityType2or3"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ShareholdersEquityType2or3_Parentheticals" roleURI="http://ruger.com/role/ShareholdersEquityType2or3_Parentheticals"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ConsolidatedCashFlow" roleURI="http://ruger.com/role/ConsolidatedCashFlow"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_SummaryofSignificantAccountingPolicies" roleURI="http://ruger.com/role/SummaryofSignificantAccountingPolicies"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_RevenueRecognitionandContractswithCustomers" roleURI="http://ruger.com/role/RevenueRecognitionandContractswithCustomers"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_TradeReceivablesNet" roleURI="http://ruger.com/role/TradeReceivablesNet"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_Inventories" roleURI="http://ruger.com/role/Inventories"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_PropertyPlantandEquipment" roleURI="http://ruger.com/role/PropertyPlantandEquipment"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_OtherAssets" roleURI="http://ruger.com/role/OtherAssets"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_LeasedAssets" roleURI="http://ruger.com/role/LeasedAssets"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_TradeAccountsPayableandAccruedExpenses" roleURI="http://ruger.com/role/TradeAccountsPayableandAccruedExpenses"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_AccruedDividends" roleURI="http://ruger.com/role/AccruedDividends"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_LineofCredit" roleURI="http://ruger.com/role/LineofCredit"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_EmployeeBenefitPlans" roleURI="http://ruger.com/role/EmployeeBenefitPlans"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_OtherOperatingIncomeNet" roleURI="http://ruger.com/role/OtherOperatingIncomeNet"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_IncomeTaxes" roleURI="http://ruger.com/role/IncomeTaxes"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_EarningsPerShare" roleURI="http://ruger.com/role/EarningsPerShare"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_StockRepurchases" roleURI="http://ruger.com/role/StockRepurchases"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_CompensationPlans" roleURI="http://ruger.com/role/CompensationPlans"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_OperatingSegmentInformation" roleURI="http://ruger.com/role/OperatingSegmentInformation"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_QuarterlyResultsofOperationsUnaudited" roleURI="http://ruger.com/role/QuarterlyResultsofOperationsUnaudited"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_RelatedPartyTransactions" roleURI="http://ruger.com/role/RelatedPartyTransactions"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ContingentLiabilities" roleURI="http://ruger.com/role/ContingentLiabilities"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_FinancialInstruments" roleURI="http://ruger.com/role/FinancialInstruments"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_SubsequentEvents" roleURI="http://ruger.com/role/SubsequentEvents"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_AccountingPoliciesByPolicy" roleURI="http://ruger.com/role/AccountingPoliciesByPolicy"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_RevenueRecognitionandContractswithCustomersTables" roleURI="http://ruger.com/role/RevenueRecognitionandContractswithCustomersTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_TradeReceivablesNetTables" roleURI="http://ruger.com/role/TradeReceivablesNetTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_InventoriesTables" roleURI="http://ruger.com/role/InventoriesTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_PropertyPlantandEquipmentTables" roleURI="http://ruger.com/role/PropertyPlantandEquipmentTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_OtherAssetsTables" roleURI="http://ruger.com/role/OtherAssetsTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_LeasedAssetsTables" roleURI="http://ruger.com/role/LeasedAssetsTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_TradeAccountsPayableandAccruedExpensesTables" roleURI="http://ruger.com/role/TradeAccountsPayableandAccruedExpensesTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_OtherOperatingIncomeNetTables" roleURI="http://ruger.com/role/OtherOperatingIncomeNetTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_IncomeTaxesTables" roleURI="http://ruger.com/role/IncomeTaxesTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_EarningsPerShareTables" roleURI="http://ruger.com/role/EarningsPerShareTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_StockRepurchasesTables" roleURI="http://ruger.com/role/StockRepurchasesTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_OperatingSegmentInformationTables" roleURI="http://ruger.com/role/OperatingSegmentInformationTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_QuarterlyResultsofOperationsUnauditedTables" roleURI="http://ruger.com/role/QuarterlyResultsofOperationsUnauditedTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ContingentLiabilitiesTables" roleURI="http://ruger.com/role/ContingentLiabilitiesTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofRevenueRecognizedTable" roleURI="http://ruger.com/role/ScheduleofRevenueRecognizedTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofTradeReceivablesTable" roleURI="http://ruger.com/role/ScheduleofTradeReceivablesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofInventoriesTable" roleURI="http://ruger.com/role/ScheduleofInventoriesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofPropertyPlantandEquipmentTable" roleURI="http://ruger.com/role/ScheduleofPropertyPlantandEquipmentTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofOtherAssetsTable" roleURI="http://ruger.com/role/ScheduleofOtherAssetsTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable" roleURI="http://ruger.com/role/ScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofOperatingLeaseLiabilitiesTable" roleURI="http://ruger.com/role/ScheduleofOperatingLeaseLiabilitiesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofTradeAccountsPayableandAccruedExpensesTable" roleURI="http://ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofOtherOperatingIncomeNetTable" roleURI="http://ruger.com/role/ScheduleofOtherOperatingIncomeNetTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofFederalandStateIncomeTaxProvisionTable" roleURI="http://ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofEffectiveIncomeTaxRateReconciliationTable" roleURI="http://ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofDeferredTaxAssetsandLiabilitiesTable" roleURI="http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable" roleURI="http://ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofRepurchasedSharesofitsCommonStockTable" roleURI="http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofOperatingSegmentFinancialInformationTable" roleURI="http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofQuarterlyFinancialInformationTable" roleURI="http://ruger.com/role/ScheduleofQuarterlyFinancialInformationTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofRollForwardforProductLiabilityReserveTable" roleURI="http://ruger.com/role/ScheduleofRollForwardforProductLiabilityReserveTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ScheduleofProductLiabilityExpenseTable" roleURI="http://ruger.com/role/ScheduleofProductLiabilityExpenseTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_SummaryofSignificantAccountingPoliciesDetails" roleURI="http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_RevenueRecognitionandContractswithCustomersDetails" roleURI="http://ruger.com/role/RevenueRecognitionandContractswithCustomersDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_TradeReceivablesNetDetails" roleURI="http://ruger.com/role/TradeReceivablesNetDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_PropertyPlantandEquipmentDetails" roleURI="http://ruger.com/role/PropertyPlantandEquipmentDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_OtherAssetsDetails" roleURI="http://ruger.com/role/OtherAssetsDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_LeasedAssetsDetails" roleURI="http://ruger.com/role/LeasedAssetsDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_AccruedDividendsDetails" roleURI="http://ruger.com/role/AccruedDividendsDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_LineofCreditDetails" roleURI="http://ruger.com/role/LineofCreditDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_EmployeeBenefitPlansDetails" roleURI="http://ruger.com/role/EmployeeBenefitPlansDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_IncomeTaxesDetails" roleURI="http://ruger.com/role/IncomeTaxesDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_StockRepurchasesDetails" roleURI="http://ruger.com/role/StockRepurchasesDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_CompensationPlansDetails" roleURI="http://ruger.com/role/CompensationPlansDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_OperatingSegmentInformationDetails" roleURI="http://ruger.com/role/OperatingSegmentInformationDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_RelatedPartyTransactionsDetails" roleURI="http://ruger.com/role/RelatedPartyTransactionsDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_ContingentLiabilitiesDetails" roleURI="http://ruger.com/role/ContingentLiabilitiesDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20231231.xsd#rgr_r_SubsequentEventsDetails" roleURI="http://ruger.com/role/SubsequentEventsDetails"/>
  <roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#cover" roleURI="http://xbrl.sec.gov/dei/role/document/Cover"/>
  <presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/PvpDisclosure">
    <loc xlink:type="locator" xlink:label="ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember"/>
    <loc xlink:type="locator" xlink:label="ChristopherJKilloyMember" xlink:href="rgr-20231231.xsd#rgr_ChristopherJKilloyMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_AllIndividualsMember" xlink:to="ChristopherJKilloyMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="JophnACosentinoJrMember" xlink:href="rgr-20231231.xsd#rgr_JophnACosentinoJrMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_AllIndividualsMember" xlink:to="JophnACosentinoJrMember" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/ErrCompDisclosure">
    <loc xlink:type="locator" xlink:label="ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember"/>
    <loc xlink:type="locator" xlink:label="ChristopherJKilloyMember" xlink:href="rgr-20231231.xsd#rgr_ChristopherJKilloyMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_AllIndividualsMember" xlink:to="ChristopherJKilloyMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="JophnACosentinoJrMember" xlink:href="rgr-20231231.xsd#rgr_JophnACosentinoJrMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_AllIndividualsMember" xlink:to="JophnACosentinoJrMember" order="0.01" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements">
    <loc xlink:type="locator" xlink:label="ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember"/>
    <loc xlink:type="locator" xlink:label="ChristopherJKilloyMember" xlink:href="rgr-20231231.xsd#rgr_ChristopherJKilloyMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_AllIndividualsMember" xlink:to="ChristopherJKilloyMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="JophnACosentinoJrMember" xlink:href="rgr-20231231.xsd#rgr_JophnACosentinoJrMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_AllIndividualsMember" xlink:to="JophnACosentinoJrMember" order="0.01" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure">
    <loc xlink:type="locator" xlink:label="ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_AllIndividualsMember"/>
    <loc xlink:type="locator" xlink:label="ChristopherJKilloyMember" xlink:href="rgr-20231231.xsd#rgr_ChristopherJKilloyMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_AllIndividualsMember" xlink:to="ChristopherJKilloyMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="JophnACosentinoJrMember" xlink:href="rgr-20231231.xsd#rgr_JophnACosentinoJrMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_AllIndividualsMember" xlink:to="JophnACosentinoJrMember" order="0.01" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ConsolidatedBalanceSheet">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ClassOfStockDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NonvotingCommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonvotingCommonStockMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_NonvotingCommonStockMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_CommonStockMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsCurrentAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShortTermInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_ShortTermInvestments" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryGross"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryGross" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryLIFOReserve" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryLIFOReserve"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryLIFOReserve" order="4.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryValuationReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserves"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryValuationReserves" order="5.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryNet" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_OtherAssetsNoncurrent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_Assets" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesCurrentAbstract" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DividendsPayableCurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="ProductLiabilityCurrent" xlink:href="rgr-20231231.xsd#rgr_ProductLiabilityCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="ProductLiabilityCurrent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedEmployeeBenefitsCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WorkersCompensationLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WorkersCompensationLiabilityCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_WorkersCompensationLiabilityCurrent" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TaxesPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_TaxesPayableCurrent" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="EmployeeCompensation" xlink:href="rgr-20231231.xsd#rgr_EmployeeCompensation"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="EmployeeCompensation" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="ProductLiabilityAccrualNoncurrent" xlink:href="rgr-20231231.xsd#rgr_ProductLiabilityAccrualNoncurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ProductLiabilityAccrualNoncurrent" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommitmentsAndContingencies" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityAbstract" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_TreasuryStockCommonValue" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquity" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ConsolidatedBalanceSheet_Parentheticals">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ClassOfStockDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NonvotingCommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonvotingCommonStockMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_NonvotingCommonStockMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_CommonStockMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesAuthorized" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesIssued" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonShares" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockCommonShares" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ConsolidatedIncomeStatement">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeStatementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_StatementTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="FirearmsMember" xlink:href="rgr-20231231.xsd#rgr_FirearmsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="FirearmsMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="UnaffiliatedCastingsMember" xlink:href="rgr-20231231.xsd#rgr_UnaffiliatedCastingsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="UnaffiliatedCastingsMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Revenues" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSold" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GrossProfit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingExpensesAbstract" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SellingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_SellingExpense" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_GeneralAndAdministrativeExpense" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherOperatingIncomeExpenseNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingExpenses" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingIncomeLoss" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherIncomeAndExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherIncomeAndExpensesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherIncomeAndExpensesAbstract" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RoyaltyIncomeNonoperating" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RoyaltyIncomeNonoperating"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_RoyaltyIncomeNonoperating" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentIncomeInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeInterest"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_InvestmentIncomeInterest" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InterestExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_InterestExpense" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NonoperatingIncomeExpense" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareBasic" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareDiluted" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="13.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="14.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockDividendsPerShareDeclared"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared" order="15.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ShareholdersEquityType2or3">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_CommonStockMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_AdditionalPaidInCapitalMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RetainedEarningsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_RetainedEarningsMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_TreasuryStockCommonMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EquityComponentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" order="4.0"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsCommonStock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DividendsCommonStock" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="DividendsCommonStockUnpaid" xlink:href="rgr-20231231.xsd#rgr_DividendsCommonStockUnpaid"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="DividendsCommonStockUnpaid" order="6.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DividendsCommonStockUnpaid" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquity_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DividendsCommonStockUnpaid" xlink:to="us-gaap_StockholdersEquity_0" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ShareholdersEquityType2or3_Parentheticals">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ConsolidatedCashFlow">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLoss" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DepreciationDepletionAndAmortization" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="ExcessAndObsolescenceInventoryReserves" xlink:href="rgr-20231231.xsd#rgr_ExcessAndObsolescenceInventoryReserves"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="ExcessAndObsolescenceInventoryReserves" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredOtherTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredOtherTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredOtherTaxExpenseBenefit" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="IncreaseDecreaseInProductLiability" xlink:href="rgr-20231231.xsd#rgr_IncreaseDecreaseInProductLiability"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInProductLiability" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" order="6.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquireInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireInvestments"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireInvestments" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsOfDividendsCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDividendsCommonStock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfDividendsCommonStock" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_0" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/SummaryofSignificantAccountingPolicies">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/RevenueRecognitionandContractswithCustomers">
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/TradeReceivablesNet">
    <loc xlink:type="locator" xlink:label="us-gaap_ReceivablesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract"/>
    <loc xlink:type="locator" xlink:label="TradeReceivablesNetTable" xlink:href="rgr-20231231.xsd#rgr_TradeReceivablesNetTable"/>
    <loc xlink:type="locator" xlink:label="TradeReceivablesNetLineItems" xlink:href="rgr-20231231.xsd#rgr_TradeReceivablesNetLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract" xlink:to="TradeReceivablesNetTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TradeReceivablesNetTable" xlink:to="TradeReceivablesNetLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TradeReceivablesNetLineItems" xlink:to="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/Inventories">
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/PropertyPlantandEquipment">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/OtherAssets">
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherAssetsAbstract" xlink:to="us-gaap_OtherAssetsDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/LeasedAssets">
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/TradeAccountsPayableandAccruedExpenses">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/AccruedDividends">
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureTextBlockSupplementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockSupplementAbstract"/>
    <loc xlink:type="locator" xlink:label="AccruedDividendsTable" xlink:href="rgr-20231231.xsd#rgr_AccruedDividendsTable"/>
    <loc xlink:type="locator" xlink:label="AccruedDividendsLineItems" xlink:href="rgr-20231231.xsd#rgr_AccruedDividendsLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockSupplementAbstract" xlink:to="AccruedDividendsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccruedDividendsTable" xlink:to="AccruedDividendsLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccruedDividendsLineItems" xlink:to="us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/LineofCredit">
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAbstract"/>
    <loc xlink:type="locator" xlink:label="LineOfCreditFacilitiesTextBlock" xlink:href="rgr-20231231.xsd#rgr_LineOfCreditFacilitiesTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAbstract" xlink:to="LineOfCreditFacilitiesTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/EmployeeBenefitPlans">
    <loc xlink:type="locator" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="EmployeeBenefitPlansTable" xlink:href="rgr-20231231.xsd#rgr_EmployeeBenefitPlansTable"/>
    <loc xlink:type="locator" xlink:label="EmployeeBenefitPlansLineItems" xlink:href="rgr-20231231.xsd#rgr_EmployeeBenefitPlansLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="EmployeeBenefitPlansTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EmployeeBenefitPlansTable" xlink:to="EmployeeBenefitPlansLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EmployeeBenefitPlansLineItems" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/OtherOperatingIncomeNet">
    <loc xlink:type="locator" xlink:label="us-gaap_OtherIncomeAndExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherIncomeAndExpensesAbstract"/>
    <loc xlink:type="locator" xlink:label="OtherOperatingIncomeNetTable" xlink:href="rgr-20231231.xsd#rgr_OtherOperatingIncomeNetTable"/>
    <loc xlink:type="locator" xlink:label="OtherOperatingIncomeNetLineItems" xlink:href="rgr-20231231.xsd#rgr_OtherOperatingIncomeNetLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="OtherOperatingIncomeNetTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherOperatingIncomeNetTable" xlink:to="OtherOperatingIncomeNetLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherOperatingIncomeNetLineItems" xlink:to="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/IncomeTaxes">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/EarningsPerShare">
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/StockRepurchases">
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract"/>
    <loc xlink:type="locator" xlink:label="StockRepurchasesTextBlock" xlink:href="rgr-20231231.xsd#rgr_StockRepurchasesTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract" xlink:to="StockRepurchasesTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/CompensationPlans">
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/OperatingSegmentInformation">
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/QuarterlyResultsofOperationsUnaudited">
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_QuarterlyFinancialInformationTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/RelatedPartyTransactions">
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ContingentLiabilities">
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LegalMattersAndContingenciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LegalMattersAndContingenciesTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingencyAbstract" xlink:to="us-gaap_LegalMattersAndContingenciesTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/FinancialInstruments">
    <loc xlink:type="locator" xlink:label="us-gaap_DerivativeInstrumentDetailAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentDetailAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FinancialInstrumentsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentsDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentDetailAbstract" xlink:to="us-gaap_FinancialInstrumentsDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/SubsequentEvents">
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/AccountingPoliciesByPolicy">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <loc xlink:type="locator" xlink:label="OrganizationPolicyTextBlock" xlink:href="rgr-20231231.xsd#rgr_OrganizationPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="OrganizationPolicyTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="PreparationOfFinancialStatementsPolicyTextBlock" xlink:href="rgr-20231231.xsd#rgr_PreparationOfFinancialStatementsPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="PreparationOfFinancialStatementsPolicyTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConsolidationPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ConsolidationPolicyTextBlock" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_InventoryPolicyTextBlock" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_IncomeTaxPolicyTextBlock" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilityReserveEstimatePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilityReserveEstimatePolicy"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_LiabilityReserveEstimatePolicy" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingCostsPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock" order="13.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="ShippingCostPolicyPolicyTextBlock" xlink:href="rgr-20231231.xsd#rgr_ShippingCostPolicyPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="ShippingCostPolicyPolicyTextBlock" order="14.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy" order="15.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock" order="16.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" order="17.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/RevenueRecognitionandContractswithCustomersTables">
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <loc xlink:type="locator" xlink:label="RevenueRecognitionMultipledeliverableArrangementsTableTextBlock" xlink:href="rgr-20231231.xsd#rgr_RevenueRecognitionMultipledeliverableArrangementsTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="RevenueRecognitionMultipledeliverableArrangementsTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/TradeReceivablesNetTables">
    <loc xlink:type="locator" xlink:label="us-gaap_ReceivablesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract"/>
    <loc xlink:type="locator" xlink:label="TradeReceivablesNetTablesTable" xlink:href="rgr-20231231.xsd#rgr_TradeReceivablesNetTablesTable"/>
    <loc xlink:type="locator" xlink:label="TradeReceivablesNetTablesLineItems" xlink:href="rgr-20231231.xsd#rgr_TradeReceivablesNetTablesLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract" xlink:to="TradeReceivablesNetTablesTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TradeReceivablesNetTablesTable" xlink:to="TradeReceivablesNetTablesLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TradeReceivablesNetTablesLineItems" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/InventoriesTables">
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/PropertyPlantandEquipmentTables">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <loc xlink:type="locator" xlink:label="PropertyPlantandEquipmentTablesTable" xlink:href="rgr-20231231.xsd#rgr_PropertyPlantandEquipmentTablesTable"/>
    <loc xlink:type="locator" xlink:label="PropertyPlantandEquipmentTablesLineItems" xlink:href="rgr-20231231.xsd#rgr_PropertyPlantandEquipmentTablesLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="PropertyPlantandEquipmentTablesTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantandEquipmentTablesTable" xlink:to="PropertyPlantandEquipmentTablesLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantandEquipmentTablesLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/OtherAssetsTables">
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfOtherAssetsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfOtherAssetsTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherAssetsAbstract" xlink:to="us-gaap_ScheduleOfOtherAssetsTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/LeasedAssetsTables">
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract"/>
    <loc xlink:type="locator" xlink:label="LeasedAssetsTablesTable" xlink:href="rgr-20231231.xsd#rgr_LeasedAssetsTablesTable"/>
    <loc xlink:type="locator" xlink:label="LeasedAssetsTablesLineItems" xlink:href="rgr-20231231.xsd#rgr_LeasedAssetsTablesLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="LeasedAssetsTablesTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsTablesTable" xlink:to="LeasedAssetsTablesLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="ScheduleOfFutureMinimumLeasePaymentsTableTextBlock" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfFutureMinimumLeasePaymentsTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsTablesLineItems" xlink:to="ScheduleOfFutureMinimumLeasePaymentsTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsTablesLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/TradeAccountsPayableandAccruedExpensesTables">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract" xlink:to="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/OtherOperatingIncomeNetTables">
    <loc xlink:type="locator" xlink:label="us-gaap_OtherIncomeAndExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherIncomeAndExpensesAbstract"/>
    <loc xlink:type="locator" xlink:label="OtherOperatingIncomeNetTablesTable" xlink:href="rgr-20231231.xsd#rgr_OtherOperatingIncomeNetTablesTable"/>
    <loc xlink:type="locator" xlink:label="OtherOperatingIncomeNetTablesLineItems" xlink:href="rgr-20231231.xsd#rgr_OtherOperatingIncomeNetTablesLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="OtherOperatingIncomeNetTablesTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherOperatingIncomeNetTablesTable" xlink:to="OtherOperatingIncomeNetTablesLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="OtherIncomeAndExpensesTableTextBlock" xlink:href="rgr-20231231.xsd#rgr_OtherIncomeAndExpensesTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherOperatingIncomeNetTablesLineItems" xlink:to="OtherIncomeAndExpensesTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/IncomeTaxesTables">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FederalIncomeTaxNoteTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FederalIncomeTaxNoteTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_FederalIncomeTaxNoteTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/EarningsPerShareTables">
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/StockRepurchasesTables">
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfTreasuryStockByClassTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfTreasuryStockByClassTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfTreasuryStockByClassTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/OperatingSegmentInformationTables">
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/QuarterlyResultsofOperationsUnauditedTables">
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ContingentLiabilitiesTables">
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingencyAbstract" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityContingenciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductLiabilityContingenciesTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingencyAbstract" xlink:to="us-gaap_ProductLiabilityContingenciesTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofRevenueRecognizedTable">
    <loc xlink:type="locator" xlink:label="ScheduleOfRevenueRecognizedAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfRevenueRecognizedAbstract"/>
    <loc xlink:type="locator" xlink:label="RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedTable" xlink:href="rgr-20231231.xsd#rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedTable"/>
    <loc xlink:type="locator" xlink:label="RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems" xlink:href="rgr-20231231.xsd#rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfRevenueRecognizedAbstract" xlink:to="RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_StatementScenarioAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementScenarioAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedTable" xlink:to="srt_StatementScenarioAxis" order="1.0"/>
    <loc xlink:type="locator" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioUnspecifiedDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" order="0.0"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedTable" xlink:to="RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems" xlink:to="us-gaap_ContractWithCustomerLiability" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueRevenueRecognized1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems" xlink:to="us-gaap_DeferredRevenueRevenueRecognized1" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="RevenueDeferred" xlink:href="rgr-20231231.xsd#rgr_RevenueDeferred"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems" xlink:to="RevenueDeferred" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiability_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems" xlink:to="us-gaap_ContractWithCustomerLiability_0" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofTradeReceivablesTable">
    <loc xlink:type="locator" xlink:label="ScheduleOfTradeReceivablesAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfTradeReceivablesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableGrossCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableGrossCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfTradeReceivablesAbstract" xlink:to="us-gaap_AccountsReceivableGrossCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfTradeReceivablesAbstract" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="AllowanceForDiscountsAccountsReceivableCurrent" xlink:href="rgr-20231231.xsd#rgr_AllowanceForDiscountsAccountsReceivableCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfTradeReceivablesAbstract" xlink:to="AllowanceForDiscountsAccountsReceivableCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfTradeReceivablesAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofInventoriesTable">
    <loc xlink:type="locator" xlink:label="ScheduleOfInventoriesAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfInventoriesAbstract"/>
    <loc xlink:type="locator" xlink:label="InventoryAtFifoAbstract" xlink:href="rgr-20231231.xsd#rgr_InventoryAtFifoAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfInventoriesAbstract" xlink:to="InventoryAtFifoAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryFinishedGoods" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryAtFifoAbstract" xlink:to="us-gaap_InventoryFinishedGoods" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcessAndRawMaterials"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryAtFifoAbstract" xlink:to="us-gaap_InventoryWorkInProcessAndRawMaterials" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryGross"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfInventoriesAbstract" xlink:to="us-gaap_InventoryGross" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryLIFOReserve" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryLIFOReserve"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryGross" xlink:to="us-gaap_InventoryLIFOReserve" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryValuationReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserves"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryGross" xlink:to="us-gaap_InventoryValuationReserves" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfInventoriesAbstract" xlink:to="us-gaap_InventoryNet" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
<!-- [WMV5][XcpuxYn59dz7vgYynUDuwG7r97K2jUTysl7vcz0lJt/tSeJz73kx1cLt0ZFF2SK/vxBCY0vdSrae3Q64+IQnmb2USxqPYGfVI2tDrLdUwwGN7MqrQdhG+SCWYUh6Hp+V8bA/AEnE3cNkyoG64Ll76mKBykPxsq7UZToAehnDUkdsoUl/OXPyniSyg2keWK/5oF8+flNxqJpCbuMe90w6AkYj4WWoTfEFqinw/xNg0k5K9t6nNzB5aibP7T0iIrB1t6vvMoJUJ+k2jbqNzJPODkZt06XYnyjc] CSR-->
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofPropertyPlantandEquipmentTable">
    <loc xlink:type="locator" xlink:label="ScheduleOfPropertyPlantAndEquipmentAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfPropertyPlantAndEquipmentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfPropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LandAndLandImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandAndLandImprovementsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_LandAndLandImprovementsMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingAndBuildingImprovementsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_MachineryAndEquipmentMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ToolsDiesAndMoldsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ToolsDiesAndMoldsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_ToolsDiesAndMoldsMember" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofOtherAssetsTable">
    <loc xlink:type="locator" xlink:label="ScheduleOfOtherAssetsAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfOtherAssetsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedPatentsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedPatentsGross"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfOtherAssetsAbstract" xlink:to="us-gaap_FiniteLivedPatentsGross" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedPatentsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepositAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepositAssets"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfOtherAssetsAbstract" xlink:to="us-gaap_DepositAssets" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedTradeNamesGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedTradeNamesGross"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfOtherAssetsAbstract" xlink:to="us-gaap_FiniteLivedTradeNamesGross" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsMiscellaneous" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMiscellaneous"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfOtherAssetsAbstract" xlink:to="us-gaap_OtherAssetsMiscellaneous" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfOtherAssetsAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable">
    <loc xlink:type="locator" xlink:label="ScheduleOfRightOfUseAssetsAndRelatedLeaseLiabilitiesAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfRightOfUseAssetsAndRelatedLeaseLiabilitiesAbstract"/>
    <loc xlink:type="locator" xlink:label="LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable" xlink:href="rgr-20231231.xsd#rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable"/>
    <loc xlink:type="locator" xlink:label="LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems" xlink:href="rgr-20231231.xsd#rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfRightOfUseAssetsAndRelatedLeaseLiabilitiesAbstract" xlink:to="LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable" xlink:to="us-gaap_AwardTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_OtherAssetsMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="TradeAccountsPayableAndAccruedExpensesMember" xlink:href="rgr-20231231.xsd#rgr_TradeAccountsPayableAndAccruedExpensesMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="TradeAccountsPayableAndAccruedExpensesMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="LeaseLiabilitiesMember" xlink:href="rgr-20231231.xsd#rgr_LeaseLiabilitiesMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="LeaseLiabilitiesMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable" xlink:to="LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="TotalOperatingLeaseLiabilities" xlink:href="rgr-20231231.xsd#rgr_TotalOperatingLeaseLiabilities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems" xlink:to="TotalOperatingLeaseLiabilities" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofOperatingLeaseLiabilitiesTable">
    <loc xlink:type="locator" xlink:label="ScheduleOfOperatingLeaseLiabilitiesAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfOperatingLeaseLiabilitiesAbstract"/>
    <loc xlink:type="locator" xlink:label="LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesTable" xlink:href="rgr-20231231.xsd#rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesTable"/>
    <loc xlink:type="locator" xlink:label="LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:href="rgr-20231231.xsd#rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfOperatingLeaseLiabilitiesAbstract" xlink:to="LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LeaseContractualTermAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseContractualTermAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesTable" xlink:to="us-gaap_LeaseContractualTermAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="OperatingLeaseMember" xlink:href="rgr-20231231.xsd#rgr_OperatingLeaseMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="OperatingLeaseMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesTable" xlink:to="LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" order="7.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" xlink:to="us-gaap_OperatingLeaseLiability" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable">
    <loc xlink:type="locator" xlink:label="ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableTradeCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableTradeCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:to="us-gaap_AccountsPayableTradeCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedIncomeTaxesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedIncomeTaxesCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:to="us-gaap_AccruedIncomeTaxesCurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAccountsPayableAndAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccountsPayableAndAccruedLiabilities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:to="us-gaap_OtherAccountsPayableAndAccruedLiabilities" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofOtherOperatingIncomeNetTable">
    <loc xlink:type="locator" xlink:label="ScheduleOfOtherOperatingIncomeNetAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfOtherOperatingIncomeNetAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GainLossOnSaleOfOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfOtherAssets"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfOtherOperatingIncomeNetAbstract" xlink:to="us-gaap_GainLossOnSaleOfOtherAssets" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable">
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable">
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable">
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNetAbstract"/>
    <loc xlink:type="locator" xlink:label="DeferredTaxAssetsAbstract" xlink:href="rgr-20231231.xsd#rgr_DeferredTaxAssetsAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsAbstract" xlink:to="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsInventory" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInventory"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsAbstract" xlink:to="us-gaap_DeferredTaxAssetsInventory" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsOther" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsAbstract" xlink:to="us-gaap_DeferredTaxAssetsOther" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsAbstract" xlink:to="us-gaap_DeferredTaxAssetsNet" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesOther" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesOther"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesOther" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable">
    <loc xlink:type="locator" xlink:label="ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract"/>
    <loc xlink:type="locator" xlink:label="NumeratorAbstract" xlink:href="rgr-20231231.xsd#rgr_NumeratorAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract" xlink:to="NumeratorAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TemporaryEquityNetIncome" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TemporaryEquityNetIncome"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NumeratorAbstract" xlink:to="us-gaap_TemporaryEquityNetIncome" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="DenominatorAbstract" xlink:href="rgr-20231231.xsd#rgr_DenominatorAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract" xlink:to="DenominatorAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DenominatorAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DenominatorAbstract" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DenominatorAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable">
    <loc xlink:type="locator" xlink:label="ScheduleOfRepurchasedSharesOfItsCommonStockAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfRepurchasedSharesOfItsCommonStockAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ClassOfTreasuryStockTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfTreasuryStockTable"/>
    <loc xlink:type="locator" xlink:label="ScheduleOfRepurchasedSharesOfItsCommonStockLineItems" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfRepurchasedSharesOfItsCommonStockAbstract" xlink:to="us-gaap_ClassOfTreasuryStockTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfFourthQuarterEventsByTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfTreasuryStockTable" xlink:to="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectOfFourthQuarterEventsTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfFourthQuarterEventsTypeDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:to="us-gaap_EffectOfFourthQuarterEventsTypeDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="ThirdQuarter2022Member" xlink:href="rgr-20231231.xsd#rgr_ThirdQuarter2022Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:to="ThirdQuarter2022Member" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="FourthQuarter2022Member" xlink:href="rgr-20231231.xsd#rgr_FourthQuarter2022Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:to="FourthQuarter2022Member" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="FourthQuarter2023Member" xlink:href="rgr-20231231.xsd#rgr_FourthQuarter2023Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:to="FourthQuarter2023Member" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardDateAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardDateAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfTreasuryStockTable" xlink:to="us-gaap_AwardDateAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardDateDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardDateDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="us-gaap_AwardDateDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="JulyThreeToJulyThirtyMember" xlink:href="rgr-20231231.xsd#rgr_JulyThreeToJulyThirtyMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="JulyThreeToJulyThirtyMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="JulyThirtyoneToAugustTwentySevenMember" xlink:href="rgr-20231231.xsd#rgr_JulyThirtyoneToAugustTwentySevenMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="JulyThirtyoneToAugustTwentySevenMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="AugustTwentyEightToOctoberOneMember" xlink:href="rgr-20231231.xsd#rgr_AugustTwentyEightToOctoberOneMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="AugustTwentyEightToOctoberOneMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="OctoberTwoToOctoberTwentyNineMember" xlink:href="rgr-20231231.xsd#rgr_OctoberTwoToOctoberTwentyNineMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="OctoberTwoToOctoberTwentyNineMember" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="OctoberThirtyToNovemberTwentySevenMember" xlink:href="rgr-20231231.xsd#rgr_OctoberThirtyToNovemberTwentySevenMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="OctoberThirtyToNovemberTwentySevenMember" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="NovemberTwentySevenToDecemberThirtyOneMember" xlink:href="rgr-20231231.xsd#rgr_NovemberTwentySevenToDecemberThirtyOneMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="NovemberTwentySevenToDecemberThirtyOneMember" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="OctoberOneToOctoberTwentyEightMember" xlink:href="rgr-20231231.xsd#rgr_OctoberOneToOctoberTwentyEightMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="OctoberOneToOctoberTwentyEightMember" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="October29ToNovember25Member" xlink:href="rgr-20231231.xsd#rgr_October29ToNovember25Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="October29ToNovember25Member" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="November26ToDecember31Member" xlink:href="rgr-20231231.xsd#rgr_November26ToDecember31Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="November26ToDecember31Member" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfTreasuryStockTable" xlink:to="ScheduleOfRepurchasedSharesOfItsCommonStockLineItems" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockPreferredShares" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockPreferredShares"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfRepurchasedSharesOfItsCommonStockLineItems" xlink:to="us-gaap_TreasuryStockPreferredShares" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockAcquiredAverageCostPerShare"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfRepurchasedSharesOfItsCommonStockLineItems" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfRepurchasedSharesOfItsCommonStockLineItems" xlink:to="us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram" xlink:href="rgr-20231231.xsd#rgr_MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfRepurchasedSharesOfItsCommonStockLineItems" xlink:to="MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable">
    <loc xlink:type="locator" xlink:label="ScheduleOfOperatingSegmentFinancialInformationAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfOperatingSegmentFinancialInformationAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingInformationLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfOperatingSegmentFinancialInformationAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_ProductOrServiceAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="CastingsMember" xlink:href="rgr-20231231.xsd#rgr_CastingsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="CastingsMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="FirearmsMember" xlink:href="rgr-20231231.xsd#rgr_FirearmsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="FirearmsMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="UnaffiliatedCastingsMember" xlink:href="rgr-20231231.xsd#rgr_UnaffiliatedCastingsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="UnaffiliatedCastingsMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="IntersegmentMember" xlink:href="rgr-20231231.xsd#rgr_IntersegmentMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="IntersegmentMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="CastingsMember_0" xlink:href="rgr-20231231.xsd#rgr_CastingsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="CastingsMember_0" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="EliminationsMember" xlink:href="rgr-20231231.xsd#rgr_EliminationsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="EliminationsMember" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CorporateMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_CorporateMember" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_SegmentReportingInformationLineItems" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="NetSalesAbstract" xlink:href="rgr-20231231.xsd#rgr_NetSalesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="NetSalesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetSalesAbstract" xlink:to="us-gaap_Revenues" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="CastingsAbstract" xlink:href="rgr-20231231.xsd#rgr_CastingsAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetSalesAbstract" xlink:to="CastingsAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="IncomeLossBeforeIncomeTaxesAbstract" xlink:href="rgr-20231231.xsd#rgr_IncomeLossBeforeIncomeTaxesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="IncomeLossBeforeIncomeTaxesAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeLossBeforeIncomeTaxesAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="IdentifiableAssetsAbstract" xlink:href="rgr-20231231.xsd#rgr_IdentifiableAssetsAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="IdentifiableAssetsAbstract" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IdentifiableAssetsAbstract" xlink:to="us-gaap_Assets" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="GoodwillAbstract" xlink:href="rgr-20231231.xsd#rgr_GoodwillAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="GoodwillAbstract" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Goodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="GoodwillAbstract" xlink:to="us-gaap_Goodwill" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepreciationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_DepreciationAbstract" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DepreciationAbstract" xlink:to="us-gaap_Depreciation" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="CapitalExpendituresAbstract" xlink:href="rgr-20231231.xsd#rgr_CapitalExpendituresAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="CapitalExpendituresAbstract" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentExpenditureAdditionToLongLivedAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentExpenditureAdditionToLongLivedAssets"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CapitalExpendituresAbstract" xlink:to="us-gaap_SegmentExpenditureAdditionToLongLivedAssets" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofQuarterlyFinancialInformationTable">
    <loc xlink:type="locator" xlink:label="ScheduleOfQuarterlyFinancialInformationAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfQuarterlyFinancialInformationAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfQuarterlyFinancialInformationAbstract" xlink:to="us-gaap_Revenues" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfQuarterlyFinancialInformationAbstract" xlink:to="us-gaap_GrossProfit" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfQuarterlyFinancialInformationAbstract" xlink:to="us-gaap_NetIncomeLoss" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfQuarterlyFinancialInformationAbstract" xlink:to="us-gaap_EarningsPerShareBasic" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfQuarterlyFinancialInformationAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofRollForwardforProductLiabilityReserveTable">
    <loc xlink:type="locator" xlink:label="ScheduleOfRollForwardForProductLiabilityReserveAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfRollForwardForProductLiabilityReserveAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductWarrantyLiabilityTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyLiabilityTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyLiabilityLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfRollForwardForProductLiabilityReserveAbstract" xlink:to="us-gaap_ProductWarrantyLiabilityTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityTable" xlink:to="srt_ProductOrServiceAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="ProductLiabilityReserveMember" xlink:href="rgr-20231231.xsd#rgr_ProductLiabilityReserveMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="ProductLiabilityReserveMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityTable" xlink:to="us-gaap_ProductWarrantyLiabilityLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="ValuationAllowancesAndReservesLegalFees" xlink:href="rgr-20231231.xsd#rgr_ValuationAllowancesAndReservesLegalFees"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="ValuationAllowancesAndReservesLegalFees" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="ValuationAllowancesAndReservesSettlements" xlink:href="rgr-20231231.xsd#rgr_ValuationAllowancesAndReservesSettlements"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="ValuationAllowancesAndReservesSettlements" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance_0" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ScheduleofProductLiabilityExpenseTable">
    <loc xlink:type="locator" xlink:label="ScheduleOfProductLiabilityExpenseAbstract" xlink:href="rgr-20231231.xsd#rgr_ScheduleOfProductLiabilityExpenseAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityContingencyTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductLiabilityContingencyTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityContingencyLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductLiabilityContingencyLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfProductLiabilityExpenseAbstract" xlink:to="us-gaap_ProductLiabilityContingencyTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductLiabilityContingencyTable" xlink:to="srt_ProductOrServiceAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="AccruedLegalExpenseMember" xlink:href="rgr-20231231.xsd#rgr_AccruedLegalExpenseMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="AccruedLegalExpenseMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="ProductInsurancePremiumExpenseMember" xlink:href="rgr-20231231.xsd#rgr_ProductInsurancePremiumExpenseMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="ProductInsurancePremiumExpenseMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="TotalProductLiabilityExpenseMember" xlink:href="rgr-20231231.xsd#rgr_TotalProductLiabilityExpenseMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="TotalProductLiabilityExpenseMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductLiabilityContingencyTable" xlink:to="us-gaap_ProductLiabilityContingencyLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductLiabilityContingencyLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityAccrualPeriodExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductLiabilityAccrualPeriodExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductLiabilityContingencyLineItems" xlink:to="us-gaap_ProductLiabilityAccrualPeriodExpense" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityAccrualComponentAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductLiabilityAccrualComponentAmount"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductLiabilityContingencyLineItems" xlink:to="us-gaap_ProductLiabilityAccrualComponentAmount" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <loc xlink:type="locator" xlink:label="SummaryofSignificantAccountingPoliciesDetailsTable" xlink:href="rgr-20231231.xsd#rgr_SummaryofSignificantAccountingPoliciesDetailsTable"/>
    <loc xlink:type="locator" xlink:label="SummaryOfSignificantAccountingPoliciesLineItems" xlink:href="rgr-20231231.xsd#rgr_SummaryOfSignificantAccountingPoliciesLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="SummaryofSignificantAccountingPoliciesDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SummaryofSignificantAccountingPoliciesDetailsTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_BuildingMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_BuildingMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_MachineryAndEquipmentMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ToolsDiesAndMoldsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ToolsDiesAndMoldsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_ToolsDiesAndMoldsMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SummaryofSignificantAccountingPoliciesDetailsTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SalesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_SalesMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SummaryofSignificantAccountingPoliciesDetailsTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SummaryofSignificantAccountingPoliciesDetailsTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="FirearmsMember" xlink:href="rgr-20231231.xsd#rgr_FirearmsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="FirearmsMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="ExportSalesMember" xlink:href="rgr-20231231.xsd#rgr_ExportSalesMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="ExportSalesMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="CastingsSalesMember" xlink:href="rgr-20231231.xsd#rgr_CastingsSalesMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="CastingsSalesMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SummaryofSignificantAccountingPoliciesDetailsTable" xlink:to="SummaryOfSignificantAccountingPoliciesLineItems" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationEffectOnEarningsPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationEffectOnEarningsPerShare"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_SharebasedCompensationEffectOnEarningsPerShare" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdvertisingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_AdvertisingExpense" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="ShippingCosts" xlink:href="rgr-20231231.xsd#rgr_ShippingCosts"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="ShippingCosts" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ResearchAndDevelopmentExpense" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/RevenueRecognitionandContractswithCustomersDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <loc xlink:type="locator" xlink:label="RevenueRecognitionandContractswithCustomersDetailsTable" xlink:href="rgr-20231231.xsd#rgr_RevenueRecognitionandContractswithCustomersDetailsTable"/>
    <loc xlink:type="locator" xlink:label="RevenueRecognitionAndContractsWithCustomersLineItems" xlink:href="rgr-20231231.xsd#rgr_RevenueRecognitionAndContractsWithCustomersLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="RevenueRecognitionandContractswithCustomersDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FinancialInstrumentAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRecognitionandContractswithCustomersDetailsTable" xlink:to="us-gaap_FinancialInstrumentAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherDebtSecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherDebtSecuritiesMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_OtherDebtSecuritiesMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRecognitionandContractswithCustomersDetailsTable" xlink:to="RevenueRecognitionAndContractsWithCustomersLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredRevenueAdditions" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueAdditions"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRecognitionAndContractsWithCustomersLineItems" xlink:to="us-gaap_DeferredRevenueAdditions" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueRevenueRecognized1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRecognitionAndContractsWithCustomersLineItems" xlink:to="us-gaap_DeferredRevenueRevenueRecognized1" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRecognitionAndContractsWithCustomersLineItems" xlink:to="us-gaap_IncreaseDecreaseInDeferredRevenue" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRecognitionAndContractsWithCustomersLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/TradeReceivablesNetDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_ReceivablesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract"/>
    <loc xlink:type="locator" xlink:label="TradeReceivablesNetDetailsTable" xlink:href="rgr-20231231.xsd#rgr_TradeReceivablesNetDetailsTable"/>
    <loc xlink:type="locator" xlink:label="TradeReceivablesNetDetailsLineItems" xlink:href="rgr-20231231.xsd#rgr_TradeReceivablesNetDetailsLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract" xlink:to="TradeReceivablesNetDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TradeReceivablesNetDetailsTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_AccountsReceivableMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TradeReceivablesNetDetailsTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="srt_MajorCustomersAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TradeReceivablesNetDetailsTable" xlink:to="srt_MajorCustomersAxis" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="CustomerOneMember" xlink:href="rgr-20231231.xsd#rgr_CustomerOneMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="CustomerOneMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="CustomerTwoMember" xlink:href="rgr-20231231.xsd#rgr_CustomerTwoMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="CustomerTwoMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="CustomerThreeMember" xlink:href="rgr-20231231.xsd#rgr_CustomerThreeMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="CustomerThreeMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TradeReceivablesNetDetailsTable" xlink:to="TradeReceivablesNetDetailsLineItems" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TradeReceivablesNetDetailsLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/PropertyPlantandEquipmentDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_Depreciation" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/OtherAssetsDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsAbstract"/>
    <loc xlink:type="locator" xlink:label="OtherAssetsDetailsTable" xlink:href="rgr-20231231.xsd#rgr_OtherAssetsDetailsTable"/>
    <loc xlink:type="locator" xlink:label="OtherAssetsLineItems" xlink:href="rgr-20231231.xsd#rgr_OtherAssetsLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherAssetsAbstract" xlink:to="OtherAssetsDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherAssetsDetailsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="TradeNameMember" xlink:href="rgr-20231231.xsd#rgr_TradeNameMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="TradeNameMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_CustomerRelationshipsMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherAssetsDetailsTable" xlink:to="OtherAssetsLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherAssetsLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/LeasedAssetsDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/AccruedDividendsDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureTextBlockSupplementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockSupplementAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableAmountPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableAmountPerShare"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockSupplementAbstract" xlink:to="us-gaap_DividendsPayableAmountPerShare" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableCurrentAndNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableCurrentAndNoncurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockSupplementAbstract" xlink:to="us-gaap_DividendsPayableCurrentAndNoncurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/LineofCreditDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAbstract"/>
    <loc xlink:type="locator" xlink:label="LineofCreditDetailsTable" xlink:href="rgr-20231231.xsd#rgr_LineofCreditDetailsTable"/>
    <loc xlink:type="locator" xlink:label="LineofCreditDetailsLineItems" xlink:href="rgr-20231231.xsd#rgr_LineofCreditDetailsLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAbstract" xlink:to="LineofCreditDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CreditFacilityAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineofCreditDetailsTable" xlink:to="us-gaap_CreditFacilityAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CreditFacilityDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_LineOfCreditMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineofCreditDetailsTable" xlink:to="LineofCreditDetailsLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineofCreditDetailsLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityExpirationDate1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityExpirationDate1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineofCreditDetailsLineItems" xlink:to="us-gaap_LineOfCreditFacilityExpirationDate1" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineofCreditDetailsLineItems" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/EmployeeBenefitPlansDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DefinedContributionPlanAdministrativeExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanAdministrativeExpenses"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_DefinedContributionPlanAdministrativeExpenses" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/IncomeTaxesDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="CapitalizedAndAmortizedOverForIncomeTaxPurposes" xlink:href="rgr-20231231.xsd#rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="CapitalizedAndAmortizedOverForIncomeTaxPurposes" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxesPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxesPaidNet" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/StockRepurchasesDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract" xlink:to="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/CompensationPlansDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <loc xlink:type="locator" xlink:label="CompensationPlansDetailsTable" xlink:href="rgr-20231231.xsd#rgr_CompensationPlansDetailsTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationAbstract" xlink:to="CompensationPlansDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationPlansDetailsTable" xlink:to="us-gaap_AwardTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="DeferredStockMember" xlink:href="rgr-20231231.xsd#rgr_DeferredStockMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="DeferredStockMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="srt_TitleOfIndividualAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationPlansDetailsTable" xlink:to="srt_TitleOfIndividualAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="srt_DirectorMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_DirectorMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_DirectorMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="VestingPeriodAxis" xlink:href="rgr-20231231.xsd#rgr_VestingPeriodAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationPlansDetailsTable" xlink:to="VestingPeriodAxis" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="VestingPeriodDomainDomain" xlink:href="rgr-20231231.xsd#rgr_VestingPeriodDomainDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="VestingPeriodAxis" xlink:to="VestingPeriodDomainDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="VestInJune2024Member" xlink:href="rgr-20231231.xsd#rgr_VestInJune2024Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="VestingPeriodAxis" xlink:to="VestInJune2024Member" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="VestInJune2026Member" xlink:href="rgr-20231231.xsd#rgr_VestInJune2026Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="VestingPeriodAxis" xlink:to="VestInJune2026Member" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="VestInMay2023Member" xlink:href="rgr-20231231.xsd#rgr_VestInMay2023Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="VestingPeriodAxis" xlink:to="VestInMay2023Member" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="VestingInMay2025Member" xlink:href="rgr-20231231.xsd#rgr_VestingInMay2025Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="VestingPeriodAxis" xlink:to="VestingInMay2025Member" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="VestInJune2027Member" xlink:href="rgr-20231231.xsd#rgr_VestInJune2027Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="VestingPeriodAxis" xlink:to="VestInJune2027Member" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="VestingMayTwoThousandTwentyTwoMember" xlink:href="rgr-20231231.xsd#rgr_VestingMayTwoThousandTwentyTwoMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="VestingPeriodAxis" xlink:to="VestingMayTwoThousandTwentyTwoMember" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="VestInMay2024Member" xlink:href="rgr-20231231.xsd#rgr_VestInMay2024Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="VestingPeriodAxis" xlink:to="VestInMay2024Member" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="srt_RangeAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationPlansDetailsTable" xlink:to="srt_RangeAxis" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_RangeMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0.0"/>
    <loc xlink:type="locator" xlink:label="srt_MinimumMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="srt_MaximumMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PlanNameAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationPlansDetailsTable" xlink:to="us-gaap_PlanNameAxis" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="StockIncentivePlan2017Member" xlink:href="rgr-20231231.xsd#rgr_StockIncentivePlan2017Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="StockIncentivePlan2017Member" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="StockIncentivePlan2023Member" xlink:href="rgr-20231231.xsd#rgr_StockIncentivePlan2023Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="StockIncentivePlan2023Member" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationPlansDetailsTable" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded" xlink:href="rgr-20231231.xsd#rgr_ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RestrictedStockExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_RestrictedStockExpense" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="RecognizedCostsOfRestrictedStockUnits" xlink:href="rgr-20231231.xsd#rgr_RecognizedCostsOfRestrictedStockUnits"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="RecognizedCostsOfRestrictedStockUnits" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="UnrecognizedCompensationCost" xlink:href="rgr-20231231.xsd#rgr_UnrecognizedCompensationCost"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="UnrecognizedCompensationCost" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/OperatingSegmentInformationDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract"/>
    <loc xlink:type="locator" xlink:label="OperatingSegmentInformationDetailsTable" xlink:href="rgr-20231231.xsd#rgr_OperatingSegmentInformationDetailsTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="OperatingSegmentInformationDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_StatementGeographicalAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingSegmentInformationDetailsTable" xlink:to="srt_StatementGeographicalAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_SegmentGeographicalDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="country_US" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="country_US" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingSegmentInformationDetailsTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SalesRevenueNetMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_SalesRevenueNetMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingSegmentInformationDetailsTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="srt_MajorCustomersAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingSegmentInformationDetailsTable" xlink:to="srt_MajorCustomersAxis" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_NameOfMajorCustomerDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="LipseysMember" xlink:href="rgr-20231231.xsd#rgr_LipseysMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="LipseysMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="DavidsonsMember" xlink:href="rgr-20231231.xsd#rgr_DavidsonsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="DavidsonsMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="SportsSouthMember" xlink:href="rgr-20231231.xsd#rgr_SportsSouthMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="SportsSouthMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingSegmentInformationDetailsTable" xlink:to="us-gaap_ConcentrationRiskLineItems" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NumberOfOperatingSegments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_NumberOfOperatingSegments" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/RelatedPartyTransactionsDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsAbstract"/>
    <loc xlink:type="locator" xlink:label="RelatedPartyTransactionsDetailsTable" xlink:href="rgr-20231231.xsd#rgr_RelatedPartyTransactionsDetailsTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="RelatedPartyTransactionsDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RelatedPartyTransactionsDetailsTable" xlink:to="us-gaap_RelatedPartyTransactionAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="NationalRifleAssociationMember" xlink:href="rgr-20231231.xsd#rgr_NationalRifleAssociationMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="NationalRifleAssociationMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="NationalShootingSportsFoundationMember" xlink:href="rgr-20231231.xsd#rgr_NationalShootingSportsFoundationMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="NationalShootingSportsFoundationMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RelatedPartyTransactionsDetailsTable" xlink:to="us-gaap_RelatedPartyTransactionLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionAmountsOfTransaction"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RelatedPartyTransactionAmountsOfTransaction" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/ContingentLiabilitiesDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyAbstract"/>
    <loc xlink:type="locator" xlink:label="ContingentLiabilitiesDetailsTable" xlink:href="rgr-20231231.xsd#rgr_ContingentLiabilitiesDetailsTable"/>
    <loc xlink:type="locator" xlink:label="ContingentLiabilitiesDetailsLineItems" xlink:href="rgr-20231231.xsd#rgr_ContingentLiabilitiesDetailsLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingencyAbstract" xlink:to="ContingentLiabilitiesDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContingentLiabilitiesDetailsTable" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyNatureDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyNatureDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="TraditionalProductLiabilityMember" xlink:href="rgr-20231231.xsd#rgr_TraditionalProductLiabilityMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="TraditionalProductLiabilityMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="MunicipalLawsuitsMember" xlink:href="rgr-20231231.xsd#rgr_MunicipalLawsuitsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="MunicipalLawsuitsMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="UnfairTradePracticesLawsuitsMember" xlink:href="rgr-20231231.xsd#rgr_UnfairTradePracticesLawsuitsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="UnfairTradePracticesLawsuitsMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="NegligenceLawsuitsMember" xlink:href="rgr-20231231.xsd#rgr_NegligenceLawsuitsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="NegligenceLawsuitsMember" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContingentLiabilitiesDetailsTable" xlink:to="ContingentLiabilitiesDetailsLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis" xlink:href="rgr-20231231.xsd#rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContingentLiabilitiesDetailsLineItems" xlink:to="ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities" xlink:href="rgr-20231231.xsd#rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContingentLiabilitiesDetailsLineItems" xlink:to="ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyDamagesSoughtValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyDamagesSoughtValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContingentLiabilitiesDetailsLineItems" xlink:to="us-gaap_LossContingencyDamagesSoughtValue" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyNewClaimsFiledNumber"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContingentLiabilitiesDetailsLineItems" xlink:to="us-gaap_LossContingencyNewClaimsFiledNumber" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyClaimsSettledNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyClaimsSettledNumber"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContingentLiabilitiesDetailsLineItems" xlink:to="us-gaap_LossContingencyClaimsSettledNumber" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="LossContingencyNumberOfLawsuits" xlink:href="rgr-20231231.xsd#rgr_LossContingencyNumberOfLawsuits"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContingentLiabilitiesDetailsLineItems" xlink:to="LossContingencyNumberOfLawsuits" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityAccrualPeriodExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductLiabilityAccrualPeriodExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContingentLiabilitiesDetailsLineItems" xlink:to="us-gaap_ProductLiabilityAccrualPeriodExpense" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://ruger.com/role/SubsequentEventsDetails">
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract"/>
    <loc xlink:type="locator" xlink:label="SubsequentEventsDetailsTable" xlink:href="rgr-20231231.xsd#rgr_SubsequentEventsDetailsTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="SubsequentEventsDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SubsequentEventsDetailsTable" xlink:to="us-gaap_SubsequentEventTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SubsequentEventsDetailsTable" xlink:to="us-gaap_SubsequentEventLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableAmountPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableAmountPerShare"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_DividendsPayableAmountPerShare" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </presentationLink>
  <presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/dei/role/document/Cover"/>
</linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>12
<FILENAME>rgr-20231231.xsd
<DESCRIPTION>XBRL SCHEMA FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- Generated by CompSci Transform (tm) - http://www.compsciresources.com -->
<!-- Created: Wed Feb 21 15:51:54 UTC 2024 -->
<xs:schema elementFormDefault="qualified" xmlns:srt-types="http://fasb.org/srt-types/2023" xmlns:rgr="http://ruger.com/20231231" targetNamespace="http://ruger.com/20231231" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:us-types="http://fasb.org/us-types/2023" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:dtr="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xlink:type="simple" xlink:href="rgr-20231231_lab.xml" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef"/>
      <link:linkbaseRef xlink:type="simple" xlink:href="rgr-20231231_pre.xml" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef"/>
      <link:linkbaseRef xlink:type="simple" xlink:href="rgr-20231231_def.xml" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef"/>
      <link:linkbaseRef xlink:type="simple" xlink:href="rgr-20231231_cal.xml" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef"/>
      <link:roleType roleURI="http://ruger.com/role/ConsolidatedBalanceSheet" id="rgr_r_ConsolidatedBalanceSheet">
        <link:definition>995301 - Statement - Consolidated Balance Sheets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ConsolidatedBalanceSheet_Parentheticals" id="rgr_r_ConsolidatedBalanceSheet_Parentheticals">
        <link:definition>995302 - Statement - Consolidated Balance Sheets (Parentheticals)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ConsolidatedIncomeStatement" id="rgr_r_ConsolidatedIncomeStatement">
        <link:definition>995303 - Statement - Consolidated Statements of Income and Comprehensive Income</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ShareholdersEquityType2or3" id="rgr_r_ShareholdersEquityType2or3">
        <link:definition>995304 - Statement - Consolidated Statements of Stockholders' Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ShareholdersEquityType2or3_Parentheticals" id="rgr_r_ShareholdersEquityType2or3_Parentheticals">
        <link:definition>995305 - Statement - Consolidated Statements of Stockholders' Equity (Parentheticals)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ConsolidatedCashFlow" id="rgr_r_ConsolidatedCashFlow">
        <link:definition>995306 - Statement - Consolidated Statements of Cash Flows</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/SummaryofSignificantAccountingPolicies" id="rgr_r_SummaryofSignificantAccountingPolicies">
        <link:definition>995307 - Disclosure - Summary of Significant Accounting Policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/RevenueRecognitionandContractswithCustomers" id="rgr_r_RevenueRecognitionandContractswithCustomers">
        <link:definition>995308 - Disclosure - Revenue Recognition and Contracts with Customers</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/TradeReceivablesNet" id="rgr_r_TradeReceivablesNet">
        <link:definition>995309 - Disclosure - Trade Receivables, Net</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/Inventories" id="rgr_r_Inventories">
        <link:definition>995310 - Disclosure - Inventories</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/PropertyPlantandEquipment" id="rgr_r_PropertyPlantandEquipment">
        <link:definition>995311 - Disclosure - Property, Plant and Equipment</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/OtherAssets" id="rgr_r_OtherAssets">
        <link:definition>995312 - Disclosure - Other Assets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/LeasedAssets" id="rgr_r_LeasedAssets">
        <link:definition>995313 - Disclosure - Leased Assets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/TradeAccountsPayableandAccruedExpenses" id="rgr_r_TradeAccountsPayableandAccruedExpenses">
        <link:definition>995314 - Disclosure - Trade Accounts Payable and Accrued Expenses</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/AccruedDividends" id="rgr_r_AccruedDividends">
        <link:definition>995315 - Disclosure - Accrued Dividends</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/LineofCredit" id="rgr_r_LineofCredit">
        <link:definition>995316 - Disclosure - Line of Credit</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/EmployeeBenefitPlans" id="rgr_r_EmployeeBenefitPlans">
        <link:definition>995317 - Disclosure - Employee Benefit Plans</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/OtherOperatingIncomeNet" id="rgr_r_OtherOperatingIncomeNet">
        <link:definition>995318 - Disclosure - Other Operating Income, Net</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/IncomeTaxes" id="rgr_r_IncomeTaxes">
        <link:definition>995319 - Disclosure - Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/EarningsPerShare" id="rgr_r_EarningsPerShare">
        <link:definition>995320 - Disclosure - Earnings Per Share</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/StockRepurchases" id="rgr_r_StockRepurchases">
        <link:definition>995321 - Disclosure - Stock Repurchases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/CompensationPlans" id="rgr_r_CompensationPlans">
        <link:definition>995322 - Disclosure - Compensation Plans</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/OperatingSegmentInformation" id="rgr_r_OperatingSegmentInformation">
        <link:definition>995323 - Disclosure - Operating Segment Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/QuarterlyResultsofOperationsUnaudited" id="rgr_r_QuarterlyResultsofOperationsUnaudited">
        <link:definition>995324 - Disclosure - Quarterly Results of Operations (Unaudited)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/RelatedPartyTransactions" id="rgr_r_RelatedPartyTransactions">
        <link:definition>995325 - Disclosure - Related Party Transactions</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ContingentLiabilities" id="rgr_r_ContingentLiabilities">
        <link:definition>995326 - Disclosure - Contingent Liabilities</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/FinancialInstruments" id="rgr_r_FinancialInstruments">
        <link:definition>995327 - Disclosure - Financial Instruments</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/SubsequentEvents" id="rgr_r_SubsequentEvents">
        <link:definition>995328 - Disclosure - Subsequent Events</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/AccountingPoliciesByPolicy" id="rgr_r_AccountingPoliciesByPolicy">
        <link:definition>996000 - Disclosure - Accounting Policies, by Policy (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/RevenueRecognitionandContractswithCustomersTables" id="rgr_r_RevenueRecognitionandContractswithCustomersTables">
        <link:definition>996001 - Disclosure - Revenue Recognition and Contracts with Customers (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/TradeReceivablesNetTables" id="rgr_r_TradeReceivablesNetTables">
        <link:definition>996002 - Disclosure - Trade Receivables, Net (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/InventoriesTables" id="rgr_r_InventoriesTables">
        <link:definition>996003 - Disclosure - Inventories (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/PropertyPlantandEquipmentTables" id="rgr_r_PropertyPlantandEquipmentTables">
        <link:definition>996004 - Disclosure - Property, Plant and Equipment (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/OtherAssetsTables" id="rgr_r_OtherAssetsTables">
        <link:definition>996005 - Disclosure - Other Assets (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/LeasedAssetsTables" id="rgr_r_LeasedAssetsTables">
        <link:definition>996006 - Disclosure - Leased Assets (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/TradeAccountsPayableandAccruedExpensesTables" id="rgr_r_TradeAccountsPayableandAccruedExpensesTables">
        <link:definition>996007 - Disclosure - Trade Accounts Payable and Accrued Expenses (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/OtherOperatingIncomeNetTables" id="rgr_r_OtherOperatingIncomeNetTables">
        <link:definition>996008 - Disclosure - Other Operating Income, Net (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/IncomeTaxesTables" id="rgr_r_IncomeTaxesTables">
        <link:definition>996009 - Disclosure - Income Taxes (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/EarningsPerShareTables" id="rgr_r_EarningsPerShareTables">
        <link:definition>996010 - Disclosure - Earnings Per Share (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/StockRepurchasesTables" id="rgr_r_StockRepurchasesTables">
        <link:definition>996011 - Disclosure - Stock Repurchases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/OperatingSegmentInformationTables" id="rgr_r_OperatingSegmentInformationTables">
        <link:definition>996012 - Disclosure - Operating Segment Information (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/QuarterlyResultsofOperationsUnauditedTables" id="rgr_r_QuarterlyResultsofOperationsUnauditedTables">
        <link:definition>996013 - Disclosure - Quarterly Results of Operations (Unaudited) (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ContingentLiabilitiesTables" id="rgr_r_ContingentLiabilitiesTables">
        <link:definition>996014 - Disclosure - Contingent Liabilities (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails" id="rgr_r_SummaryofSignificantAccountingPoliciesDetails">
        <link:definition>996015 - Disclosure - Summary of Significant Accounting Policies (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/RevenueRecognitionandContractswithCustomersDetails" id="rgr_r_RevenueRecognitionandContractswithCustomersDetails">
        <link:definition>996016 - Disclosure - Revenue Recognition and Contracts with Customers (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ScheduleofRevenueRecognizedTable" id="rgr_r_ScheduleofRevenueRecognizedTable">
        <link:definition>996017 - Disclosure - Revenue Recognition and Contracts with Customers (Details) - Schedule of Revenue Recognized</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/TradeReceivablesNetDetails" id="rgr_r_TradeReceivablesNetDetails">
        <link:definition>996018 - Disclosure - Trade Receivables, Net (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ScheduleofTradeReceivablesTable" id="rgr_r_ScheduleofTradeReceivablesTable">
        <link:definition>996019 - Disclosure - Trade Receivables, Net (Details) - Schedule of Trade Receivables</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ScheduleofInventoriesTable" id="rgr_r_ScheduleofInventoriesTable">
        <link:definition>996020 - Disclosure - Inventories (Details) - Schedule of Inventories</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/PropertyPlantandEquipmentDetails" id="rgr_r_PropertyPlantandEquipmentDetails">
        <link:definition>996021 - Disclosure - Property, Plant and Equipment (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ScheduleofPropertyPlantandEquipmentTable" id="rgr_r_ScheduleofPropertyPlantandEquipmentTable">
        <link:definition>996022 - Disclosure - Property, Plant and Equipment (Details) - Schedule of Property, Plant and Equipment</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/OtherAssetsDetails" id="rgr_r_OtherAssetsDetails">
        <link:definition>996023 - Disclosure - Other Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ScheduleofOtherAssetsTable" id="rgr_r_ScheduleofOtherAssetsTable">
        <link:definition>996024 - Disclosure - Other Assets (Details) - Schedule of Other Assets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/LeasedAssetsDetails" id="rgr_r_LeasedAssetsDetails">
        <link:definition>996025 - Disclosure - Leased Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable" id="rgr_r_ScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable">
        <link:definition>996026 - Disclosure - Leased Assets (Details) - Schedule of Right-of-Use Assets and Related Lease Liabilities</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
<!-- [WMV5][XcpuxYn59dz7vgYynUDuwG7r97K2jUTysl7vcz0lJt/tSeJz73kx1cLt0ZFF2SK/vxBCY0vdSrae3Q64+IQnmb2USxqPYGfVI2tDrLdUwwGN7MqrQdhG+SCWYUh6Hp+V8bA/AEnE3cNkyoG64Ll76mKBykPxsq7UZToAehnDUkdsoUl/OXPyniSyg2keWK/5oF8+flNxqJpCbuMe90w6AkYj4WWoTfEFqinw/xNg0k5K9t6nNzB5aibP7T0iIrB1ykajuibnJa6DN0sF/AKK50cglkk5T8Ti] CSR-->
      <link:roleType roleURI="http://ruger.com/role/ScheduleofOperatingLeaseLiabilitiesTable" id="rgr_r_ScheduleofOperatingLeaseLiabilitiesTable">
        <link:definition>996027 - Disclosure - Leased Assets (Details) - Schedule of Operating Lease Liabilities</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable" id="rgr_r_ScheduleofTradeAccountsPayableandAccruedExpensesTable">
        <link:definition>996028 - Disclosure - Trade Accounts Payable and Accrued Expenses (Details) - Schedule of Trade Accounts Payable and Accrued Expenses</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/AccruedDividendsDetails" id="rgr_r_AccruedDividendsDetails">
        <link:definition>996029 - Disclosure - Accrued Dividends (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/LineofCreditDetails" id="rgr_r_LineofCreditDetails">
        <link:definition>996030 - Disclosure - Line of Credit (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/EmployeeBenefitPlansDetails" id="rgr_r_EmployeeBenefitPlansDetails">
        <link:definition>996031 - Disclosure - Employee Benefit Plans (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ScheduleofOtherOperatingIncomeNetTable" id="rgr_r_ScheduleofOtherOperatingIncomeNetTable">
        <link:definition>996032 - Disclosure - Other Operating Income, Net (Details) - Schedule of Other Operating Income, Net</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/IncomeTaxesDetails" id="rgr_r_IncomeTaxesDetails">
        <link:definition>996033 - Disclosure - Income Taxes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable" id="rgr_r_ScheduleofFederalandStateIncomeTaxProvisionTable">
        <link:definition>996034 - Disclosure - Income Taxes (Details) - Schedule of Federal and State Income Tax Provision</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable" id="rgr_r_ScheduleofEffectiveIncomeTaxRateReconciliationTable">
        <link:definition>996035 - Disclosure - Income Taxes (Details) - Schedule of Effective Income Tax Rate Reconciliation</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable" id="rgr_r_ScheduleofDeferredTaxAssetsandLiabilitiesTable">
        <link:definition>996036 - Disclosure - Income Taxes (Details) - Schedule of Deferred Tax Assets and Liabilities</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable" id="rgr_r_ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable">
        <link:definition>996037 - Disclosure - Earnings Per Share (Details) - Schedule of a Reconciliation of the Numerator and Denominator for the Basic and Diluted Earnings Per Share</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/StockRepurchasesDetails" id="rgr_r_StockRepurchasesDetails">
        <link:definition>996038 - Disclosure - Stock Repurchases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable" id="rgr_r_ScheduleofRepurchasedSharesofitsCommonStockTable">
        <link:definition>996039 - Disclosure - Stock Repurchases (Details) - Schedule of Repurchased Shares of its Common Stock</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/CompensationPlansDetails" id="rgr_r_CompensationPlansDetails">
        <link:definition>996040 - Disclosure - Compensation Plans (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/OperatingSegmentInformationDetails" id="rgr_r_OperatingSegmentInformationDetails">
        <link:definition>996041 - Disclosure - Operating Segment Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable" id="rgr_r_ScheduleofOperatingSegmentFinancialInformationTable">
        <link:definition>996042 - Disclosure - Operating Segment Information (Details) - Schedule of Operating Segment Financial Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ScheduleofQuarterlyFinancialInformationTable" id="rgr_r_ScheduleofQuarterlyFinancialInformationTable">
        <link:definition>996043 - Disclosure - Quarterly Results of Operations (Unaudited) (Details) - Schedule of Quarterly Financial Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/RelatedPartyTransactionsDetails" id="rgr_r_RelatedPartyTransactionsDetails">
        <link:definition>996044 - Disclosure - Related Party Transactions (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ContingentLiabilitiesDetails" id="rgr_r_ContingentLiabilitiesDetails">
        <link:definition>996045 - Disclosure - Contingent Liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ScheduleofRollForwardforProductLiabilityReserveTable" id="rgr_r_ScheduleofRollForwardforProductLiabilityReserveTable">
        <link:definition>996046 - Disclosure - Contingent Liabilities (Details) - Schedule of Roll-Forward for Product Liability Reserve</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/ScheduleofProductLiabilityExpenseTable" id="rgr_r_ScheduleofProductLiabilityExpenseTable">
        <link:definition>996047 - Disclosure - Contingent Liabilities (Details) - Schedule of Product Liability Expense</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/SubsequentEventsDetails" id="rgr_r_SubsequentEventsDetails">
        <link:definition>996048 - Disclosure - Subsequent Events (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://ruger.com/role/DocumentAndEntityInformation" id="DocumentAndEntityInformation">
        <link:definition>000000 - Document - Document And Entity Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"/>
  <xs:import namespace="http://fasb.org/us-types/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd"/>
  <xs:import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd"/>
  <xs:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd"/>
  <xs:import namespace="http://fasb.org/srt-types/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/sic/2023" schemaLocation="https://xbrl.sec.gov/sic/2023/sic-2023.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/ecd-sub/2023" schemaLocation="https://xbrl.sec.gov/ecd/2023/ecd-sub-2023.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/dei-sub/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-sub-2023.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/ecd/2023" schemaLocation="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd"/>
  <xs:element name="ChristopherJKilloyMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ChristopherJKilloyMember"/>
  <xs:element name="JophnACosentinoJrMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_JophnACosentinoJrMember"/>
  <xs:element name="ScheduleOfRevenueRecognizedAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfRevenueRecognizedAbstract"/>
  <xs:element name="ScheduleOfTradeReceivablesAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfTradeReceivablesAbstract"/>
  <xs:element name="ScheduleOfInventoriesAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfInventoriesAbstract"/>
  <xs:element name="ScheduleOfPropertyPlantAndEquipmentAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfPropertyPlantAndEquipmentAbstract"/>
  <xs:element name="ScheduleOfOtherAssetsAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfOtherAssetsAbstract"/>
  <xs:element name="ScheduleOfRightOfUseAssetsAndRelatedLeaseLiabilitiesAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfRightOfUseAssetsAndRelatedLeaseLiabilitiesAbstract"/>
  <xs:element name="ScheduleOfOperatingLeaseLiabilitiesAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfOperatingLeaseLiabilitiesAbstract"/>
  <xs:element name="ScheduleOfOtherOperatingIncomeNetAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfOtherOperatingIncomeNetAbstract"/>
  <xs:element name="ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract"/>
  <xs:element name="ScheduleOfOperatingSegmentFinancialInformationAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfOperatingSegmentFinancialInformationAbstract"/>
  <xs:element name="ScheduleOfRollForwardForProductLiabilityReserveAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfRollForwardForProductLiabilityReserveAbstract"/>
  <xs:element name="ScheduleOfProductLiabilityExpenseAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfProductLiabilityExpenseAbstract"/>
  <xs:element name="UnlabeledAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract"/>
  <xs:element name="UnlabeledAbstract0" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract0"/>
  <xs:element name="UnlabeledAbstract1" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract1"/>
  <xs:element name="UnlabeledAbstract2" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract2"/>
  <xs:element name="UnlabeledAbstract3" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract3"/>
  <xs:element name="UnlabeledAbstract4" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract4"/>
  <xs:element name="UnlabeledAbstract5" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract5"/>
  <xs:element name="UnlabeledAbstract6" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract6"/>
  <xs:element name="UnlabeledAbstract7" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract7"/>
  <xs:element name="UnlabeledAbstract8" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract8"/>
  <xs:element name="CommonStockNonVotingParValue1Abstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CommonStockNonVotingParValue1Abstract"/>
  <xs:element name="CommonStockParValue1Abstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CommonStockParValue1Abstract"/>
  <xs:element name="AuthorizedShares40000000Abstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_AuthorizedShares40000000Abstract"/>
  <xs:element name="a202324437020IssuedAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_a202324437020IssuedAbstract"/>
  <xs:element name="a17458620OutstandingAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_a17458620OutstandingAbstract"/>
  <xs:element name="a202224378568IssuedAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_a202224378568IssuedAbstract"/>
  <xs:element name="LessTreasuryStockAtCostAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_LessTreasuryStockAtCostAbstract"/>
  <xs:element name="a20236978400SharesAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_a20236978400SharesAbstract"/>
  <xs:element name="UnlabeledAbstract9" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract9"/>
  <xs:element name="UnlabeledAbstract10" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract10"/>
  <xs:element name="UnlabeledAbstract11" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract11"/>
  <xs:element name="UnlabeledAbstract12" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract12"/>
  <xs:element name="UnlabeledAbstract13" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract13"/>
  <xs:element name="UnlabeledAbstract14" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract14"/>
  <xs:element name="UnlabeledAbstract15" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract15"/>
  <xs:element name="UnlabeledAbstract16" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract16"/>
  <xs:element name="UnlabeledAbstract17" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract17"/>
  <xs:element name="UnlabeledAbstract18" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract18"/>
  <xs:element name="UnlabeledAbstract19" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract19"/>
  <xs:element name="UnlabeledAbstract20" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract20"/>
  <xs:element name="UnlabeledAbstract21" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract21"/>
  <xs:element name="UnlabeledAbstract22" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract22"/>
  <xs:element name="UnlabeledAbstract23" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract23"/>
  <xs:element name="UnlabeledAbstract24" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract24"/>
  <xs:element name="UnlabeledAbstract25" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract25"/>
  <xs:element name="UnlabeledAbstract26" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract26"/>
  <xs:element name="UnlabeledAbstract27" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract27"/>
  <xs:element name="UnlabeledAbstract28" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract28"/>
  <xs:element name="UnlabeledAbstract29" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract29"/>
  <xs:element name="OperatingLeaseLiabilitiesAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_OperatingLeaseLiabilitiesAbstract"/>
  <xs:element name="UnlabeledAbstract30" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract30"/>
  <xs:element name="UnlabeledAbstract31" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract31"/>
  <xs:element name="UnlabeledAbstract32" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract32"/>
  <xs:element name="DeferredTaxAssetsAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_DeferredTaxAssetsAbstract"/>
  <xs:element name="UnlabeledAbstract33" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract33"/>
  <xs:element name="NumeratorAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_NumeratorAbstract"/>
  <xs:element name="DenominatorAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_DenominatorAbstract"/>
  <xs:element name="ThirdQuarter2022Abstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ThirdQuarter2022Abstract"/>
  <xs:element name="FourthQuarter2022Abstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_FourthQuarter2022Abstract"/>
  <xs:element name="FourthQuarter2023Abstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_FourthQuarter2023Abstract"/>
  <xs:element name="NetSalesAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_NetSalesAbstract"/>
  <xs:element name="CastingsAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CastingsAbstract"/>
  <xs:element name="IncomeLossBeforeIncomeTaxesAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_IncomeLossBeforeIncomeTaxesAbstract"/>
  <xs:element name="IdentifiableAssetsAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_IdentifiableAssetsAbstract"/>
  <xs:element name="GoodwillAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_GoodwillAbstract"/>
  <xs:element name="CapitalExpendituresAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CapitalExpendituresAbstract"/>
  <xs:element name="UnlabeledAbstract34" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract34"/>
  <xs:element name="UnlabeledAbstract35" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract35"/>
  <xs:element name="UnlabeledAbstract36" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract36"/>
  <xs:element name="UnlabeledAbstract37" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnlabeledAbstract37"/>
  <xs:element name="ProductLiabilityCurrent" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_ProductLiabilityCurrent"/>
  <xs:element name="EmployeeCompensation" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_EmployeeCompensation"/>
  <xs:element name="ProductLiabilityAccrualNoncurrent" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_ProductLiabilityAccrualNoncurrent"/>
  <xs:element name="DividendsCommonStockUnpaid" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="debit" nillable="true" substitutionGroup="xbrli:item" id="rgr_DividendsCommonStockUnpaid"/>
  <xs:element name="ExcessAndObsolescenceInventoryReserves" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_ExcessAndObsolescenceInventoryReserves"/>
  <xs:element name="IncreaseDecreaseInProductLiability" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="debit" nillable="true" substitutionGroup="xbrli:item" id="rgr_IncreaseDecreaseInProductLiability"/>
  <xs:element name="TradeReceivablesNetTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_TradeReceivablesNetTable"/>
  <xs:element name="TradeReceivablesNetLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_TradeReceivablesNetLineItems"/>
  <xs:element name="AccruedDividendsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_AccruedDividendsTable"/>
  <xs:element name="AccruedDividendsLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_AccruedDividendsLineItems"/>
  <xs:element name="LineOfCreditFacilitiesTextBlock" type="dtr:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_LineOfCreditFacilitiesTextBlock"/>
  <xs:element name="EmployeeBenefitPlansTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_EmployeeBenefitPlansTable"/>
  <xs:element name="EmployeeBenefitPlansLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_EmployeeBenefitPlansLineItems"/>
  <xs:element name="OtherOperatingIncomeNetTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_OtherOperatingIncomeNetTable"/>
  <xs:element name="OtherOperatingIncomeNetLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_OtherOperatingIncomeNetLineItems"/>
  <xs:element name="StockRepurchasesTextBlock" type="dtr:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_StockRepurchasesTextBlock"/>
  <xs:element name="OrganizationPolicyTextBlock" type="dtr:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_OrganizationPolicyTextBlock"/>
  <xs:element name="PreparationOfFinancialStatementsPolicyTextBlock" type="dtr:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_PreparationOfFinancialStatementsPolicyTextBlock"/>
  <xs:element name="ShippingCostPolicyPolicyTextBlock" type="dtr:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ShippingCostPolicyPolicyTextBlock"/>
  <xs:element name="RevenueRecognitionMultipledeliverableArrangementsTableTextBlock" type="dtr:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_RevenueRecognitionMultipledeliverableArrangementsTableTextBlock"/>
  <xs:element name="TradeReceivablesNetTablesTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_TradeReceivablesNetTablesTable"/>
  <xs:element name="TradeReceivablesNetTablesLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_TradeReceivablesNetTablesLineItems"/>
  <xs:element name="PropertyPlantandEquipmentTablesTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_PropertyPlantandEquipmentTablesTable"/>
  <xs:element name="PropertyPlantandEquipmentTablesLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_PropertyPlantandEquipmentTablesLineItems"/>
  <xs:element name="ScheduleOfFutureMinimumLeasePaymentsTableTextBlock" type="dtr:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfFutureMinimumLeasePaymentsTableTextBlock"/>
  <xs:element name="LeasedAssetsTablesTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_LeasedAssetsTablesTable"/>
  <xs:element name="LeasedAssetsTablesLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_LeasedAssetsTablesLineItems"/>
  <xs:element name="OtherIncomeAndExpensesTableTextBlock" type="dtr:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_OtherIncomeAndExpensesTableTextBlock"/>
  <xs:element name="OtherOperatingIncomeNetTablesTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_OtherOperatingIncomeNetTablesTable"/>
  <xs:element name="OtherOperatingIncomeNetTablesLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_OtherOperatingIncomeNetTablesLineItems"/>
  <xs:element name="RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedTable"/>
  <xs:element name="RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems"/>
  <xs:element name="RevenueDeferred" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_RevenueDeferred"/>
  <xs:element name="AllowanceForDiscountsAccountsReceivableCurrent" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_AllowanceForDiscountsAccountsReceivableCurrent"/>
  <xs:element name="LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable"/>
  <xs:element name="LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems"/>
  <xs:element name="TotalOperatingLeaseLiabilities" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_TotalOperatingLeaseLiabilities"/>
  <xs:element name="LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesTable"/>
  <xs:element name="LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems"/>
  <xs:element name="MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram"/>
  <xs:element name="ValuationAllowancesAndReservesLegalFees" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="debit" nillable="true" substitutionGroup="xbrli:item" id="rgr_ValuationAllowancesAndReservesLegalFees"/>
  <xs:element name="ValuationAllowancesAndReservesSettlements" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_ValuationAllowancesAndReservesSettlements"/>
  <xs:element name="SummaryofSignificantAccountingPoliciesDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_SummaryofSignificantAccountingPoliciesDetailsTable"/>
  <xs:element name="ShippingCosts" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="debit" nillable="true" substitutionGroup="xbrli:item" id="rgr_ShippingCosts"/>
  <xs:element name="RevenueRecognitionandContractswithCustomersDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_RevenueRecognitionandContractswithCustomersDetailsTable"/>
  <xs:element name="TradeReceivablesNetDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_TradeReceivablesNetDetailsTable"/>
  <xs:element name="TradeReceivablesNetDetailsLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_TradeReceivablesNetDetailsLineItems"/>
  <xs:element name="OtherAssetsDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_OtherAssetsDetailsTable"/>
  <xs:element name="LineofCreditDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_LineofCreditDetailsTable"/>
  <xs:element name="LineofCreditDetailsLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_LineofCreditDetailsLineItems"/>
  <xs:element name="CapitalizedAndAmortizedOverForIncomeTaxPurposes" type="xbrli:durationItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes"/>
  <xs:element name="VestingPeriodDomainDomain" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_VestingPeriodDomainDomain"/>
  <xs:element name="CompensationPlansDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_CompensationPlansDetailsTable"/>
  <xs:element name="ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded" type="xbrli:sharesItemType" abstract="false" xbrli:periodType="instant" nillable="true" substitutionGroup="xbrli:item" id="rgr_ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded"/>
  <xs:element name="RecognizedCostsOfRestrictedStockUnits" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_RecognizedCostsOfRestrictedStockUnits"/>
  <xs:element name="UnrecognizedCompensationCost" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnrecognizedCompensationCost"/>
  <xs:element name="OperatingSegmentInformationDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_OperatingSegmentInformationDetailsTable"/>
  <xs:element name="RelatedPartyTransactionsDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_RelatedPartyTransactionsDetailsTable"/>
  <xs:element name="ContingentLiabilitiesDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_ContingentLiabilitiesDetailsTable"/>
  <xs:element name="ContingentLiabilitiesDetailsLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ContingentLiabilitiesDetailsLineItems"/>
  <xs:element name="ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis"/>
  <xs:element name="ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities"/>
  <xs:element name="LossContingencyNumberOfLawsuits" type="xbrli:integerItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_LossContingencyNumberOfLawsuits"/>
  <xs:element name="SubsequentEventsDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_SubsequentEventsDetailsTable"/>
  <xs:element name="VestingPeriodAxis" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:dimensionItem" id="rgr_VestingPeriodAxis"/>
  <xs:element name="AccruedLegalExpenseMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_AccruedLegalExpenseMember"/>
  <xs:element name="AugustTwentyEightToOctoberOneMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_AugustTwentyEightToOctoberOneMember"/>
  <xs:element name="CastingsMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CastingsMember"/>
  <xs:element name="CastingsSalesMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CastingsSalesMember"/>
  <xs:element name="CustomerOneMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CustomerOneMember"/>
  <xs:element name="CustomerThreeMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CustomerThreeMember"/>
  <xs:element name="CustomerTwoMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CustomerTwoMember"/>
  <xs:element name="DavidsonsMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_DavidsonsMember"/>
  <xs:element name="DeferredStockMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_DeferredStockMember"/>
  <xs:element name="EliminationsMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_EliminationsMember"/>
  <xs:element name="ExportSalesMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ExportSalesMember"/>
  <xs:element name="FirearmsMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_FirearmsMember"/>
  <xs:element name="FourthQuarter2022Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_FourthQuarter2022Member"/>
  <xs:element name="FourthQuarter2023Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_FourthQuarter2023Member"/>
  <xs:element name="IntersegmentMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_IntersegmentMember"/>
  <xs:element name="JulyThirtyoneToAugustTwentySevenMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_JulyThirtyoneToAugustTwentySevenMember"/>
  <xs:element name="JulyThreeToJulyThirtyMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_JulyThreeToJulyThirtyMember"/>
  <xs:element name="LeaseLiabilitiesMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_LeaseLiabilitiesMember"/>
  <xs:element name="LipseysMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_LipseysMember"/>
  <xs:element name="MunicipalLawsuitsMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_MunicipalLawsuitsMember"/>
  <xs:element name="NationalRifleAssociationMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_NationalRifleAssociationMember"/>
  <xs:element name="NationalShootingSportsFoundationMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_NationalShootingSportsFoundationMember"/>
  <xs:element name="NegligenceLawsuitsMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_NegligenceLawsuitsMember"/>
  <xs:element name="November26ToDecember31Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_November26ToDecember31Member"/>
  <xs:element name="NovemberTwentySevenToDecemberThirtyOneMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_NovemberTwentySevenToDecemberThirtyOneMember"/>
  <xs:element name="October29ToNovember25Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_October29ToNovember25Member"/>
  <xs:element name="OctoberOneToOctoberTwentyEightMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_OctoberOneToOctoberTwentyEightMember"/>
  <xs:element name="OctoberThirtyToNovemberTwentySevenMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_OctoberThirtyToNovemberTwentySevenMember"/>
  <xs:element name="OctoberTwoToOctoberTwentyNineMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_OctoberTwoToOctoberTwentyNineMember"/>
  <xs:element name="OperatingLeaseMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_OperatingLeaseMember"/>
  <xs:element name="ProductInsurancePremiumExpenseMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ProductInsurancePremiumExpenseMember"/>
  <xs:element name="ProductLiabilityReserveMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ProductLiabilityReserveMember"/>
  <xs:element name="SportsSouthMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_SportsSouthMember"/>
  <xs:element name="StockIncentivePlan2017Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_StockIncentivePlan2017Member"/>
  <xs:element name="StockIncentivePlan2023Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_StockIncentivePlan2023Member"/>
  <xs:element name="ThirdQuarter2022Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ThirdQuarter2022Member"/>
  <xs:element name="TotalProductLiabilityExpenseMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_TotalProductLiabilityExpenseMember"/>
  <xs:element name="TradeAccountsPayableAndAccruedExpensesMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_TradeAccountsPayableAndAccruedExpensesMember"/>
  <xs:element name="TradeNameMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_TradeNameMember"/>
  <xs:element name="TraditionalProductLiabilityMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_TraditionalProductLiabilityMember"/>
  <xs:element name="UnaffiliatedCastingsMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnaffiliatedCastingsMember"/>
  <xs:element name="UnfairTradePracticesLawsuitsMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnfairTradePracticesLawsuitsMember"/>
  <xs:element name="VestInJune2024Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_VestInJune2024Member"/>
  <xs:element name="VestInJune2026Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_VestInJune2026Member"/>
  <xs:element name="VestInJune2027Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_VestInJune2027Member"/>
  <xs:element name="VestInMay2023Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_VestInMay2023Member"/>
  <xs:element name="VestInMay2024Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_VestInMay2024Member"/>
  <xs:element name="VestingInMay2025Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_VestingInMay2025Member"/>
  <xs:element name="VestingMayTwoThousandTwentyTwoMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_VestingMayTwoThousandTwentyTwoMember"/>
  <xs:element name="InventoryAtFifoAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_InventoryAtFifoAbstract"/>
  <xs:element name="OtherAssetsLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_OtherAssetsLineItems"/>
  <xs:element name="RevenueRecognitionAndContractsWithCustomersLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_RevenueRecognitionAndContractsWithCustomersLineItems"/>
  <xs:element name="ScheduleOfQuarterlyFinancialInformationAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfQuarterlyFinancialInformationAbstract"/>
  <xs:element name="ScheduleOfRepurchasedSharesOfItsCommonStockAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfRepurchasedSharesOfItsCommonStockAbstract"/>
  <xs:element name="ScheduleOfRepurchasedSharesOfItsCommonStockLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems"/>
  <xs:element name="ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract"/>
  <xs:element name="SummaryOfSignificantAccountingPoliciesLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_SummaryOfSignificantAccountingPoliciesLineItems"/>
  <xs:element name="DocumentAndEntityInformationAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_DocumentAndEntityInformationAbstract"/>
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869364267808">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Feb. 15, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</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_DocumentInformationLineItems', window );"><strong>Document Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">10-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</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_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_DocumentFinStmtErrorCorrectionFlag', window );">Document Financial Statement Error Correction [Flag]</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</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_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</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_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2023<span></span>
</td>
<td class="text">&#160;<span></span>
</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_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</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_DocumentsIncorporatedByReferenceTextBlock', window );">Documents Incorporated by Reference [Text Block]</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Portions of the registrant&#8217;s Proxy Statement
relating to the 2024 Annual Meeting of Stockholders to be held May 30, 2024 are incorporated by reference into Part III (Items 10 through
14) of this Report.</p><span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_EntityInformationLineItems', window );"><strong>Entity Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">STURM, RUGER & COMPANY, INC.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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">0000095029<span></span>
</td>
<td class="text">&#160;<span></span>
</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_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">0-4776<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">06-0633559<span></span>
</td>
<td class="text">&#160;<span></span>
</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_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</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_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</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_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</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_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</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_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,112,555,000<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_EntityContactPersonnelLineItems', window );"><strong>Entity Contact Personnel [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">1 Lacey Place<span></span>
</td>
<td class="text">&#160;<span></span>
</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_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Southport<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">CT<span></span>
</td>
<td class="text">&#160;<span></span>
</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_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">06890<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_EntityPhoneFaxNumbersLineItems', window );"><strong>Entity Phone Fax Numbers [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_CityAreaCode', window );">City Area Code</a></td>
<td class="text">(203)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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">259-7843<span></span>
</td>
<td class="text">&#160;<span></span>
</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_EntityListingsLineItems', window );"><strong>Entity Listings [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, $1 par value<span></span>
</td>
<td class="text">&#160;<span></span>
</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_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">RGR<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NYSE<span></span>
</td>
<td class="text">&#160;<span></span>
</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_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,664,200<span></span>
</td>
<td class="text">&#160;<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_CurrentFiscalYearEndDate">
<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>End date of current fiscal year in the format --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_CurrentFiscalYearEndDate</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:gMonthDayItemType</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_DocumentAnnualReport">
<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 only for a form used as an annual report.</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 Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<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_DocumentAnnualReport</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_DocumentFinStmtErrorCorrectionFlag">
<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>Indicates whether any of the financial statement period in the filing include a restatement due to error correction.</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 Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection w<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<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_DocumentFinStmtErrorCorrectionFlag</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_DocumentFiscalPeriodFocus">
<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>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.</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_DocumentFiscalPeriodFocus</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:fiscalPeriodItemType</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_DocumentFiscalYearFocus">
<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>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.</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_DocumentFiscalYearFocus</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:gYearItemType</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_DocumentInformationLineItems">
<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>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</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_DocumentInformationLineItems</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_DocumentTransitionReport">
<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 only for a form used as a transition report.</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 Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-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_DocumentTransitionReport</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_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_DocumentsIncorporatedByReferenceTextBlock">
<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>Documents incorporated by reference.</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-23<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_DocumentsIncorporatedByReferenceTextBlock</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>dtr-types:textBlockItemType</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_EntityCommonStockSharesOutstanding">
<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 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.</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_EntityCommonStockSharesOutstanding</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:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityContactPersonnelLineItems">
<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>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</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_EntityContactPersonnelLineItems</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_EntityCurrentReportingStatus">
<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 '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.</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_EntityCurrentReportingStatus</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:yesNoItemType</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_EntityFilerCategory">
<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 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.</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_EntityFilerCategory</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:filerCategoryItemType</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_EntityInformationLineItems">
<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>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</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_EntityInformationLineItems</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_EntityInteractiveDataCurrent">
<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 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).</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 Regulation S-T<br> -Number 232<br> -Section 405<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_EntityInteractiveDataCurrent</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:yesNoItemType</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_EntityListingsLineItems">
<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>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</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_EntityListingsLineItems</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_EntityPhoneFaxNumbersLineItems">
<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>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</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_EntityPhoneFaxNumbersLineItems</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_EntityPublicFloat">
<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 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.</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_EntityPublicFloat</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:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</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_EntityShellCompany">
<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 registrant is a shell company as defined in Rule 12b-2 of 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 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_EntityShellCompany</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_EntitySmallBusiness">
<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>Indicates that the company is a Smaller Reporting Company (SRC).</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_EntitySmallBusiness</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_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_EntityVoluntaryFilers">
<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 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</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_EntityVoluntaryFilers</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:yesNoItemType</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_EntityWellKnownSeasonedIssuer">
<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 '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.</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 405<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_EntityWellKnownSeasonedIssuer</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:yesNoItemType</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_IcfrAuditorAttestationFlag">
<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 );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<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_IcfrAuditorAttestationFlag</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_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_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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R2.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869364259728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Audit Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_AuditorTable', window );"><strong>Auditor [Table]</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_AuditorName', window );">Auditor Name</a></td>
<td class="text">RSM US LLP<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_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">49<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_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Stamford, Connecticut<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorFirmId">
<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>PCAOB issued Audit Firm Identifier</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 Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<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_AuditorFirmId</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:nonemptySequenceNumberItemType</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_AuditorLocation">
<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 );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<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_AuditorLocation</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:internationalNameItemType</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_AuditorName">
<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 );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<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_AuditorName</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:internationalNameItemType</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_AuditorTable">
<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 );">- References</a><div><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_AuditorTable</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R3.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869365059040">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_us-gaap_AssetsCurrentAbstract', window );"><strong>Current Assets</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 15,174<span></span>
</td>
<td class="nump">$ 65,173<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_us-gaap_ShortTermInvestments', window );">Short-term investments</a></td>
<td class="nump">102,485<span></span>
</td>
<td class="nump">159,132<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_us-gaap_AccountsReceivableNetCurrent', window );">Trade receivables, net</a></td>
<td class="nump">59,864<span></span>
</td>
<td class="nump">65,449<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_us-gaap_InventoryGross', window );">Gross inventories</a></td>
<td class="nump">150,192<span></span>
</td>
<td class="nump">129,294<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_us-gaap_InventoryLIFOReserve', window );">Less LIFO reserve</a></td>
<td class="num">(64,262)<span></span>
</td>
<td class="num">(59,489)<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_us-gaap_InventoryValuationReserves', window );">Less excess and obsolescence reserve</a></td>
<td class="num">(6,120)<span></span>
</td>
<td class="num">(4,812)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Net inventories</a></td>
<td class="nump">79,810<span></span>
</td>
<td class="nump">64,993<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_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">14,062<span></span>
</td>
<td class="nump">7,091<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total Current Assets</a></td>
<td class="nump">271,395<span></span>
</td>
<td class="nump">361,838<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_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment</a></td>
<td class="nump">462,397<span></span>
</td>
<td class="nump">447,126<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_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less allowances for depreciation</a></td>
<td class="num">(390,863)<span></span>
</td>
<td class="num">(370,273)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Net property, plant and equipment</a></td>
<td class="nump">71,534<span></span>
</td>
<td class="nump">76,853<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_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred income taxes</a></td>
<td class="nump">11,976<span></span>
</td>
<td class="nump">6,109<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_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">43,912<span></span>
</td>
<td class="nump">39,963<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total Assets</a></td>
<td class="nump">398,817<span></span>
</td>
<td class="nump">484,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_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current Liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent', window );">Trade accounts payable and accrued expenses</a></td>
<td class="nump">31,708<span></span>
</td>
<td class="nump">35,658<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_us-gaap_DividendsPayableCurrent', window );">Dividends payable</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">88,343<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_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Contract liabilities with customers (Note 2)</a></td>
<td class="nump">149<span></span>
</td>
<td class="nump">1,031<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_ProductLiabilityCurrent', window );">Product liability</a></td>
<td class="nump">634<span></span>
</td>
<td class="nump">235<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_us-gaap_AccruedEmployeeBenefitsCurrent', window );">Employee compensation and benefits</a></td>
<td class="nump">24,660<span></span>
</td>
<td class="nump">30,160<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_us-gaap_WorkersCompensationLiabilityCurrent', window );">Workers&#8217; compensation</a></td>
<td class="nump">6,044<span></span>
</td>
<td class="nump">6,469<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_us-gaap_TaxesPayableCurrent', window );">Income taxes payable</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">1,171<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total Current Liabilities</a></td>
<td class="nump">63,195<span></span>
</td>
<td class="nump">163,067<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_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Lease liability (Note 7)</a></td>
<td class="nump">2,170<span></span>
</td>
<td class="nump">3,039<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_EmployeeCompensation', window );">Employee compensation</a></td>
<td class="nump">1,685<span></span>
</td>
<td class="nump">1,846<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_ProductLiabilityAccrualNoncurrent', window );">Product liability accrual</a></td>
<td class="nump">46<span></span>
</td>
<td class="nump">73<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_us-gaap_CommitmentsAndContingencies', window );">Contingent liabilities (Note 20)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <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_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">46,849<span></span>
</td>
<td class="nump">45,075<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_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">418,058<span></span>
</td>
<td class="nump">393,097<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_us-gaap_TreasuryStockCommonValue', window );">Treasury stock</a></td>
<td class="num">(157,623)<span></span>
</td>
<td class="num">(145,812)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total Stockholders&#8217; Equity</a></td>
<td class="nump">331,721<span></span>
</td>
<td class="nump">316,738<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total Liabilities and Stockholders&#8217; Equity</a></td>
<td class="nump">398,817<span></span>
</td>
<td class="nump">484,763<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_NonvotingCommonStockMember', window );">Nonvoting Common Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; Equity</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_CommonStockValue', window );">Authorized shares &#8211; 50,000; none issued</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonStockMember', window );">Common Stock</a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_CommonStockValue', window );">Authorized shares &#8211; 50,000; none issued</a></td>
<td class="nump">$ 24,437<span></span>
</td>
<td class="nump">$ 24,378<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_EmployeeCompensation">
<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>Employee compensation.</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;">rgr_EmployeeCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_ProductLiabilityAccrualNoncurrent">
<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>Carrying value as of the balance sheet date of obligations incurred through that date which includes the cost of outside legal fees, insurance, and other expenses incurred in the management and defense of product liability matters and due after one year (or beyond the operating cycle if longer).</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;">rgr_ProductLiabilityAccrualNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_ProductLiabilityCurrent">
<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>Carrying value as of the balance sheet date of obligations incurred through that date which includes the cost of outside legal fees, insurance, and other expenses incurred in the management and defense of product liability matters For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</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;">rgr_ProductLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent">
<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>Sum of the carrying values as of the balance sheet date of obligations incurred through that date and due within one year (or the operating cycle, if longer), including liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received, taxes, interest, rent and utilities, accrued salaries and bonuses, payroll taxes and fringe benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<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>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</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/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<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;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedEmployeeBenefitsCurrent">
<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>Carrying value as of the balance sheet date of obligations, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_AccruedEmployeeBenefitsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<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>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</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/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-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;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<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>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<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>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</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/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-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;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<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>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</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/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<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;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<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 );">- References</a><div><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;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<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>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</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/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<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;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<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>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</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/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<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>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<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>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</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/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-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;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<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>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</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/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<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;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsPayableCurrent">
<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>Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_DividendsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryGross">
<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>Gross amount, as of the balance sheet date, of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_InventoryGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryLIFOReserve">
<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>Amount by which inventory stated at last-in first-out (LIFO) is less than (in excess of) inventory stated at other inventory cost methods.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_InventoryLIFOReserve</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<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>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryValuationReserves">
<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>Amount of valuation reserve for inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-10-S99-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;">us-gaap_InventoryValuationReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<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>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<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>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</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/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<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 );">- References</a><div><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;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_OperatingLeaseLiabilityNoncurrent">
<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>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</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/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-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;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<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>Amount of noncurrent assets classified as other.</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/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<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>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<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>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</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/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-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;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<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>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-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;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<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>Amount of accumulated undistributed earnings (deficit).</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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermInvestments">
<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>Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-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;">us-gaap_ShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<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>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-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;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<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 );">- References</a><div><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;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_TaxesPayableCurrent">
<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>Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_TaxesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonValue">
<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>Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481520/505-30-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.30)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_TreasuryStockCommonValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WorkersCompensationLiabilityCurrent">
<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>Carrying value as of the balance sheet date of obligations and payables pertaining to claims incurred of a workers compensation nature. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_WorkersCompensationLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_NonvotingCommonStockMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_NonvotingCommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonStockMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R4.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869362401680">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets (Parentheticals) - $ / shares<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_us-gaap_TreasuryStockCommonShares', window );">Treasury stock, shares</a></td>
<td class="nump">6,978,400<span></span>
</td>
<td class="nump">6,714,338<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_NonvotingCommonStockMember', window );">Nonvoting Common Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value per share (in Dollars per share)</a></td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">$ 1<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_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">50,000<span></span>
</td>
<td class="nump">50,000<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_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonStockMember', window );">Common Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value per share (in Dollars per share)</a></td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">$ 1<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_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">40,000,000<span></span>
</td>
<td class="nump">40,000,000<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_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">24,437,020<span></span>
</td>
<td class="nump">24,378,568<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_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">17,458,620<span></span>
</td>
<td class="nump">17,664,230<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<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>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<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 maximum number of common shares permitted to be issued by an entity's charter and bylaws.</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/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<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>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<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>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonShares">
<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>Number of previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-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;">us-gaap_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_NonvotingCommonStockMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_NonvotingCommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonStockMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R5.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869362355888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Income and Comprehensive Income - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_us-gaap_Revenues', window );">Total net sales</a></td>
<td class="nump">$ 543,767<span></span>
</td>
<td class="nump">$ 595,842<span></span>
</td>
<td class="nump">$ 730,736<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_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of products sold</a></td>
<td class="nump">410,148<span></span>
</td>
<td class="nump">415,757<span></span>
</td>
<td class="nump">451,179<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">133,619<span></span>
</td>
<td class="nump">180,085<span></span>
</td>
<td class="nump">279,557<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_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating Expenses (Incomes):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_SellingExpense', window );">Selling</a></td>
<td class="nump">38,788<span></span>
</td>
<td class="nump">36,114<span></span>
</td>
<td class="nump">33,259<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_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="nump">42,752<span></span>
</td>
<td class="nump">40,551<span></span>
</td>
<td class="nump">43,289<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_us-gaap_OtherOperatingIncomeExpenseNet', window );">Other operating income, net</a></td>
<td class="num">(5)<span></span>
</td>
<td class="num">(36)<span></span>
</td>
<td class="num">(127)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="nump">81,535<span></span>
</td>
<td class="nump">76,629<span></span>
</td>
<td class="nump">76,421<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">52,084<span></span>
</td>
<td class="nump">103,456<span></span>
</td>
<td class="nump">203,136<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_us-gaap_OtherIncomeAndExpensesAbstract', window );"><strong>Other income:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_RoyaltyIncomeNonoperating', window );">Royalty income</a></td>
<td class="nump">658<span></span>
</td>
<td class="nump">837<span></span>
</td>
<td class="nump">1,975<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_us-gaap_InvestmentIncomeInterest', window );">Interest income</a></td>
<td class="nump">5,465<span></span>
</td>
<td class="nump">2,552<span></span>
</td>
<td class="nump">49<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_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="num">(205)<span></span>
</td>
<td class="num">(256)<span></span>
</td>
<td class="num">(164)<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_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income, net</a></td>
<td class="nump">822<span></span>
</td>
<td class="nump">1,690<span></span>
</td>
<td class="nump">1,598<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Total other income, net</a></td>
<td class="nump">6,740<span></span>
</td>
<td class="nump">4,823<span></span>
</td>
<td class="nump">3,458<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">58,824<span></span>
</td>
<td class="nump">108,279<span></span>
</td>
<td class="nump">206,594<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_us-gaap_IncomeTaxExpenseBenefit', window );">Income taxes</a></td>
<td class="nump">10,609<span></span>
</td>
<td class="nump">19,947<span></span>
</td>
<td class="nump">50,695<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income and comprehensive income</a></td>
<td class="nump">$ 48,215<span></span>
</td>
<td class="nump">$ 88,332<span></span>
</td>
<td class="nump">$ 155,899<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_us-gaap_EarningsPerShareBasic', window );">Basic Earnings Per Share (in Dollars per share)</a></td>
<td class="nump">$ 2.73<span></span>
</td>
<td class="nump">$ 5<span></span>
</td>
<td class="nump">$ 8.87<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_us-gaap_EarningsPerShareDiluted', window );">Diluted Earnings Per Share (in Dollars per share)</a></td>
<td class="nump">$ 2.71<span></span>
</td>
<td class="nump">$ 4.96<span></span>
</td>
<td class="nump">$ 8.78<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_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average number of common shares outstanding &#8211; Basic (in Shares)</a></td>
<td class="nump">17,676,955<span></span>
</td>
<td class="nump">17,648,850<span></span>
</td>
<td class="nump">17,585,604<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_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average number of common shares outstanding &#8211; Diluted (in Shares)</a></td>
<td class="nump">17,811,218<span></span>
</td>
<td class="nump">17,793,348<span></span>
</td>
<td class="nump">17,757,834<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_us-gaap_CommonStockDividendsPerShareDeclared', window );">Cash Dividends Per Share (in Dollars per share)</a></td>
<td class="nump">$ 6.27<span></span>
</td>
<td class="nump">$ 2.42<span></span>
</td>
<td class="nump">$ 3.36<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgr_FirearmsMember', window );">Net firearms sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_Revenues', window );">Total net sales</a></td>
<td class="nump">$ 540,746<span></span>
</td>
<td class="nump">$ 593,289<span></span>
</td>
<td class="nump">$ 728,141<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgr_UnaffiliatedCastingsMember', window );">Net castings sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_Revenues', window );">Total net sales</a></td>
<td class="nump">$ 3,021<span></span>
</td>
<td class="nump">$ 2,553<span></span>
</td>
<td class="nump">$ 2,595<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockDividendsPerShareDeclared">
<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>Aggregate dividends declared during the period for each share of common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-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;">us-gaap_CommonStockDividendsPerShareDeclared</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</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_us-gaap_CostOfGoodsAndServicesSold">
<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 aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</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/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_EarningsPerShareBasic">
<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 amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</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/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<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;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</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_us-gaap_EarningsPerShareDiluted">
<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 amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</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/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<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;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</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_us-gaap_GeneralAndAdministrativeExpense">
<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 aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</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/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_GrossProfit">
<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>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<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>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</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/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-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;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_IncomeTaxExpenseBenefit">
<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>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</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/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-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;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_InterestExpense">
<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>Amount of the cost of borrowed funds accounted for as interest expense.</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/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483013/835-20-50-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;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_InvestmentIncomeInterest">
<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>Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.</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/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_InvestmentIncomeInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_NetIncomeLoss">
<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 portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-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;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_NonoperatingIncomeExpense">
<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 aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_OperatingExpenses">
<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>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</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;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_OperatingExpensesAbstract">
<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 );">- References</a><div><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;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_OperatingIncomeLoss">
<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 net result for the period of deducting operating expenses from operating revenues.</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/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<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;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_OtherIncomeAndExpensesAbstract">
<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 );">- References</a><div><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;">us-gaap_OtherIncomeAndExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_OtherNonoperatingIncomeExpense">
<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>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_OtherOperatingIncomeExpenseNet">
<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 net amount of other operating income and expenses, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operations.</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;">us-gaap_OtherOperatingIncomeExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_Revenues">
<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>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-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;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_RoyaltyIncomeNonoperating">
<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>Ancillary revenue earned during the period from the consideration paid to the entity for the use of its rights and property by another party. Examples include licensing the use of copyrighted materials and leasing the extraction of natural resources.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_RoyaltyIncomeNonoperating</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_SellingExpense">
<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>Expenses recognized in the period that are directly related to the selling and distribution of products or services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_SellingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<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 average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</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/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<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;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</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_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<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>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</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/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<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;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</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_srt_ProductOrServiceAxis=rgr_FirearmsMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgr_FirearmsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgr_UnaffiliatedCastingsMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgr_UnaffiliatedCastingsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R6.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869362328576">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Statements of Stockholders' Equity - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Retained Earnings</div></th>
<th class="th"><div>Treasury Stock</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2020</a></td>
<td class="nump">$ 24,206<span></span>
</td>
<td class="nump">$ 43,468<span></span>
</td>
<td class="nump">$ 342,615<span></span>
</td>
<td class="num">$ (145,590)<span></span>
</td>
<td class="nump">$ 264,699<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_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">155,899<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">155,899<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_us-gaap_DividendsCommonStock', window );">Dividends paid</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(59,104)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(59,104)<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_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,280<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,280<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_us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition', window );">Vesting of RSU&#8217;s</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,801)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,801)<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_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Common stock issued &#8211; compensation plans</a></td>
<td class="nump">100<span></span>
</td>
<td class="num">(100)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_DividendsCommonStockUnpaid', window );">Unpaid dividends accrued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,312)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,312)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2021</a></td>
<td class="nump">24,306<span></span>
</td>
<td class="nump">46,847<span></span>
</td>
<td class="nump">438,098<span></span>
</td>
<td class="num">(145,590)<span></span>
</td>
<td class="nump">363,661<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_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">88,332<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">88,332<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_us-gaap_DividendsCommonStock', window );">Dividends paid</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(42,718)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(42,718)<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_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,671<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,671<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_us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition', window );">Vesting of RSU&#8217;s</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,371)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,371)<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_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Common stock issued &#8211; compensation plans</a></td>
<td class="nump">72<span></span>
</td>
<td class="num">(72)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_DividendsCommonStockUnpaid', window );">Unpaid dividends accrued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(90,615)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(90,615)<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_us-gaap_TreasuryStockValueAcquiredCostMethod', window );">Repurchase shares of common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(222)<span></span>
</td>
<td class="num">(222)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2022</a></td>
<td class="nump">24,378<span></span>
</td>
<td class="nump">45,075<span></span>
</td>
<td class="nump">393,097<span></span>
</td>
<td class="num">(145,812)<span></span>
</td>
<td class="nump">316,738<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_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">48,215<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">48,215<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_us-gaap_DividendsCommonStock', window );">Dividends paid</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(22,446)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(22,446)<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_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,989<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,989<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_us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition', window );">Vesting of RSU&#8217;s</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,156)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,156)<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_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Common stock issued &#8211; compensation plans</a></td>
<td class="nump">59<span></span>
</td>
<td class="num">(59)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_DividendsCommonStockUnpaid', window );">Unpaid dividends accrued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(808)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(808)<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_us-gaap_TreasuryStockValueAcquiredCostMethod', window );">Repurchase shares of common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(11,811)<span></span>
</td>
<td class="num">(11,811)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2023</a></td>
<td class="nump">$ 24,437<span></span>
</td>
<td class="nump">$ 46,849<span></span>
</td>
<td class="nump">$ 418,058<span></span>
</td>
<td class="num">$ (157,623)<span></span>
</td>
<td class="nump">$ 331,721<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_DividendsCommonStockUnpaid">
<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>Amount of dividends declared, but unpaid, during period.</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;">rgr_DividendsCommonStockUnpaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition">
<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>Amount of increase to additional paid-in capital (APIC) for recognition of cost for restricted stock unit under share-based payment arrangement.</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;">us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<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>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</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/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-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;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_DividendsCommonStock">
<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>Amount of paid and unpaid common stock dividends declared with the form of settlement in cash, stock and payment-in-kind (PIK).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -SubTopic 405<br> -Topic 942<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481071/942-405-45-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;">us-gaap_DividendsCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_NetIncomeLoss">
<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 portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-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;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation">
<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>Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_StockholdersEquity">
<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>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-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;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValueAcquiredCostMethod">
<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>Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-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;">us-gaap_TreasuryStockValueAcquiredCostMethod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R7.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869365537824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Stockholders' Equity (Parentheticals) - shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_us-gaap_StatementOfStockholdersEquityAbstract', window );"><strong>Statement of Stockholders' Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock</a></td>
<td class="nump">264,062<span></span>
</td>
<td class="nump">4,440<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfStockholdersEquityAbstract">
<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 );">- References</a><div><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;">us-gaap_StatementOfStockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_StockRepurchasedDuringPeriodShares">
<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>Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R8.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869361299648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Cash Flows - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Operating Activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 48,215<span></span>
</td>
<td class="nump">$ 88,332<span></span>
</td>
<td class="nump">$ 155,899<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_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to cash provided by operating activities, net of effects of acquisition:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">22,383<span></span>
</td>
<td class="nump">25,789<span></span>
</td>
<td class="nump">26,152<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_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">3,989<span></span>
</td>
<td class="nump">1,671<span></span>
</td>
<td class="nump">8,280<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_ExcessAndObsolescenceInventoryReserves', window );">Excess and obsolescence inventory reserve</a></td>
<td class="nump">1,308<span></span>
</td>
<td class="nump">501<span></span>
</td>
<td class="nump">953<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_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Gain on sale of assets</a></td>
<td class="num">(5)<span></span>
</td>
<td class="num">(36)<span></span>
</td>
<td class="num">(127)<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_us-gaap_DeferredOtherTaxExpenseBenefit', window );">Deferred income taxes</a></td>
<td class="num">(5,867)<span></span>
</td>
<td class="num">(5,573)<span></span>
</td>
<td class="nump">994<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_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Trade receivables</a></td>
<td class="nump">5,585<span></span>
</td>
<td class="num">(8,413)<span></span>
</td>
<td class="nump">840<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_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="num">(16,125)<span></span>
</td>
<td class="num">(21,644)<span></span>
</td>
<td class="num">(15,726)<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_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities', window );">Trade accounts payable and accrued expenses</a></td>
<td class="num">(4,406)<span></span>
</td>
<td class="num">(640)<span></span>
</td>
<td class="num">(392)<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_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">Contract liability with customers</a></td>
<td class="num">(882)<span></span>
</td>
<td class="nump">1,031<span></span>
</td>
<td class="num">(84)<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_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities', window );">Employee compensation and benefits</a></td>
<td class="num">(6,469)<span></span>
</td>
<td class="num">(3,420)<span></span>
</td>
<td class="num">(5,433)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_IncreaseDecreaseInProductLiability', window );">Product liability</a></td>
<td class="nump">372<span></span>
</td>
<td class="num">(584)<span></span>
</td>
<td class="num">(234)<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_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet', window );">Prepaid expenses, other assets and other liabilities</a></td>
<td class="num">(13,026)<span></span>
</td>
<td class="num">(954)<span></span>
</td>
<td class="nump">1,217<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_us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable', window );">Income taxes receivable/payable</a></td>
<td class="num">(1,171)<span></span>
</td>
<td class="nump">1,171<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Cash provided by operating activities</a></td>
<td class="nump">33,901<span></span>
</td>
<td class="nump">77,231<span></span>
</td>
<td class="nump">172,339<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_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Investing Activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Property, plant and equipment additions</a></td>
<td class="num">(15,796)<span></span>
</td>
<td class="num">(27,730)<span></span>
</td>
<td class="num">(28,776)<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_us-gaap_PaymentsToAcquireInvestments', window );">Purchases of short-term investments</a></td>
<td class="num">(192,627)<span></span>
</td>
<td class="num">(365,480)<span></span>
</td>
<td class="num">(681,940)<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_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments', window );">Proceeds from maturity of short-term investments</a></td>
<td class="nump">249,274<span></span>
</td>
<td class="nump">406,319<span></span>
</td>
<td class="nump">602,976<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_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Net proceeds from sale of assets</a></td>
<td class="nump">5<span></span>
</td>
<td class="nump">100<span></span>
</td>
<td class="nump">203<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Cash provided by (used for) investing activities</a></td>
<td class="nump">40,856<span></span>
</td>
<td class="nump">13,209<span></span>
</td>
<td class="num">(107,537)<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_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Financing Activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_PaymentsOfDividendsCommonStock', window );">Dividends paid</a></td>
<td class="num">(110,789)<span></span>
</td>
<td class="num">(42,718)<span></span>
</td>
<td class="num">(59,104)<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_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Repurchase of common stock</a></td>
<td class="num">(11,811)<span></span>
</td>
<td class="num">(222)<span></span>
</td>
<td class="text"> <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_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Payment of employee withholding tax related to share-based compensation</a></td>
<td class="num">(2,156)<span></span>
</td>
<td class="num">(3,371)<span></span>
</td>
<td class="num">(4,801)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Cash used for financing activities</a></td>
<td class="num">(124,756)<span></span>
</td>
<td class="num">(46,311)<span></span>
</td>
<td class="num">(63,905)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect', window );">(Decrease) increase in cash and cash equivalents</a></td>
<td class="num">(49,999)<span></span>
</td>
<td class="nump">44,129<span></span>
</td>
<td class="nump">897<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_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents at beginning of year</a></td>
<td class="nump">65,173<span></span>
</td>
<td class="nump">21,044<span></span>
</td>
<td class="nump">20,147<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_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents at end of year</a></td>
<td class="nump">$ 15,174<span></span>
</td>
<td class="nump">$ 65,173<span></span>
</td>
<td class="nump">$ 21,044<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_ExcessAndObsolescenceInventoryReserves">
<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>Excess and obsolescence inventory reserve.</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;">rgr_ExcessAndObsolescenceInventoryReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_rgr_IncreaseDecreaseInProductLiability">
<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 net change during the reporting period in the Product liability expense which includes the cost of outside legal fees, insurance, and other expenses incurred in the management and defense of product liability matters.</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;">rgr_IncreaseDecreaseInProductLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<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 );">- References</a><div><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;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<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>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</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/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<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;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect">
<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>Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-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;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_DeferredOtherTaxExpenseBenefit">
<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>Amount of other deferred income tax expense (benefit) pertaining to income (loss) from continuing operations. For example, but not limited to, acquisition-date income tax benefits or expenses recognized from changes in the acquirer's valuation allowance for its previously existing deferred tax assets resulting from a business combination and adjustments to beginning-of-year balance of a valuation allowance because of a change in circumstance causing a change in judgment about the realizability of the related deferred tax asset in future periods.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-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;">us-gaap_DeferredOtherTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_DepreciationDepletionAndAmortization">
<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 aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<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;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_GainLossOnSaleOfPropertyPlantEquipment">
<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>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<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;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities">
<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 increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<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;">us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_IncreaseDecreaseInAccountsReceivable">
<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 increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<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;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_IncreaseDecreaseInContractWithCustomerLiability">
<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>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.</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/disclosureRef<br> -Topic 912<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482312/912-310-45-11<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<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;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities">
<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 increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<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;">us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable">
<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 increase (decrease) during the reporting period in the amounts payable to taxing authorities for taxes that are based on the reporting entity's earnings, net of amounts receivable from taxing authorities for refunds of overpayments or recoveries of income taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<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;">us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_IncreaseDecreaseInInventories">
<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 increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<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;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<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 );">- References</a><div><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;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet">
<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>Amount of increase (decrease) in operating assets after deduction of operating liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<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;">us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<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>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</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/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<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;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<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 );">- References</a><div><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;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<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>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</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/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<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;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<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 );">- References</a><div><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;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<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>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<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;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</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_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<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 );">- References</a><div><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;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_NetIncomeLoss">
<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 portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-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;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_PaymentsForRepurchaseOfCommonStock">
<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 cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<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;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_PaymentsOfDividendsCommonStock">
<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>Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<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;">us-gaap_PaymentsOfDividendsCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">
<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>Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.</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/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<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;">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_PaymentsToAcquireInvestments">
<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 cash outflow associated with the purchase of all investments (debt, security, other) during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<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;">us-gaap_PaymentsToAcquireInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<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 cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<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;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments">
<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 cash inflow associated with the sale, maturity and collection of all investments such as debt, security and so forth during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-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;">us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment">
<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 cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-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;">us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_ShareBasedCompensation">
<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>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<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;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R9.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869368373520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_AccountingPoliciesAbstract', window );"><strong>Summary of Significant Accounting Policies [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_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Summary of Significant Accounting Policies</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>1.</b></td><td style="text-align: justify"><b>Summary of Significant Accounting Policies</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Organization</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Sturm, Ruger &amp; Company, Inc. (the &#8220;Company&#8221;)
is principally engaged in the design, manufacture, and sale of firearms to domestic customers. Approximately 99% of sales were from firearms.
Export sales represented approximately 6% of firearms sales. The Company&#8217;s design and manufacturing operations are located in the
United States and almost all product content is domestic. The Company&#8217;s firearms are sold through a select number of independent
wholesale distributors principally to the commercial sporting market.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company manufactures investment castings made
from steel alloys and metal injection molding (&#8220;MIM&#8221;) parts for internal use in its firearms and utilizes available capacity
to manufacture and sell investment castings and MIM parts to unaffiliated, third-party customers. Castings were less than 1% of the Company&#8217;s
total sales for the year ended December 31, 2023.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Preparation
of Financial Statements</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company follows United States generally accepted
accounting principles (&#8220;GAAP&#8221;). The preparation of financial statements in conformity with GAAP requires management to make
estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent liabilities at the date
of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ
from these estimates.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The significant accounting policies described
below, together with the notes that follow, are an integral part of the consolidated financial statements.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Principles
of Consolidation</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The consolidated financial statements include
the accounts of the Company and its wholly owned subsidiary. All significant intercompany accounts and transactions have been eliminated.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Revenue Recognition</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company recognizes revenue in accordance
with the provisions of Accounting Standards Codification Topic 606, Revenue from Contracts with Customers (&#8220;ASC 606&#8221;), which
became effective January 1, 2018. Substantially all product sales are sold FOB (free on board) shipping point. Customary payment terms
are 2% 30 days, net 40 days. Generally, all performance obligations are satisfied when product is shipped and the customer takes ownership
and assumes the risk of loss. In some instances, sales include multiple performance obligations. The most common of these instances relates
to sales promotion programs under which downstream customers are entitled to receive no charge products based on their purchases of certain
of the Company&#8217;s products from the independent distributors. The fulfillment of these no charge products is the Company&#8217;s
responsibility. In such instances, the Company allocates the revenue of the promotional sales based on the estimated level of participation
in the sales promotional program and the timing of the shipment of all of the firearms included in the promotional program, including
the no charge firearms. Revenue is recognized proportionally as each performance obligation is satisfied, based on the relative customary
price of each product. Customary prices are generally determined based on the prices charged to the independent distributors. The net
change in contract liabilities for a given period is reported as an increase or decrease to sales. The Company accounts for cash sales
discounts as a reduction in sales. Amounts billed to customers for shipping and handling fees are included in net sales and costs incurred
by the Company for the delivery of goods are classified as selling expenses. Federal excise taxes are excluded from net sales.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Cash and
Cash Equivalents</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company considers interest-bearing deposits
with financial institutions with remaining maturities of three months or less at the time of acquisition to be cash equivalents.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Fair Value
Measurements of Short-term Investments</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Fair value is defined as the price that would
be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants in the principal or
most advantageous market at the measurement date. Fair value is established according to a hierarchy that prioritizes observable and unobservable
inputs used to measure fair value into three broad levels, which are described below:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">Level 1: Unadjusted quoted prices in
active markets that are accessible at the measurement date for assets or liabilities. The fair value hierarchy gives the highest priority
to Level 1 inputs.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">Level 2: Observable prices that are
based on inputs not quoted on active markets, but corroborated by market data.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">Level 3: Unobservable inputs are used
when little or no market data is available. Level 3 inputs are given the lowest priority in the fair value hierarchy.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The asset or liability&#8217;s fair value measurement
level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. Valuation
techniques used need to maximize the use of observable inputs and minimize the use of unobservable inputs.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">As
of December 31, 2023, the Company&#8217;s short-term investments consist of U.S. Treasury instruments (Level 1), maturing within one year,
and </span>investments in a bank-managed money market fund that invests exclusively in United States Treasury obligations and is valued
at the net asset value ("NAV") daily closing price, as reported by the fund, based on the amortized cost of the fund&#8217;s
securities (Level 2)<span style="font-family: Times New Roman, Times, Serif">. For the bank-managed money market fund, t</span>he NAV
is used as a practical expedient to estimate fair value. This practical expedient is not used when it is determined to be probable that
the fund will sell the investment for an amount different than the reported NAV<span style="font-family: Times New Roman, Times, Serif">.
Such securities are classified as held to maturity, since the Company has the intent and ability to do so, and are carried at cost plus
accrued interest, which approximates fair value.</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The fair value of inventory acquired as part of
business combination is based on a third-party valuation utilizing the comparable sales method which is based on Level 2 and Level 3 inputs.
The fair value of property, plant and equipment acquired as part of business combination is based on a third-party valuation utilizing
the indirect method of cost approach, which is based on Level 2 and Level 3 inputs. The fair value of patents acquired as part of business
combination is based on a third-party valuation utilizing the replacement cost method, which is based on Level 2 and Level 3 inputs. The
fair value of the remaining intangible assets as part of business combination are based on a third-party valuation utilizing discounted
cash flow methods that involves inputs, which are not observable in the market (Level 3).</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Accounts Receivable</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company establishes an allowance for doubtful
accounts based on the creditworthiness of its customers and historical experience. While the Company uses the best information available
to make its evaluation, future adjustments to the allowance for doubtful accounts may be necessary if there are significant changes in
economic and industry conditions or any other factors considered in the Company&#8217;s evaluation. Bad debt expense has been immaterial
during each of the last three years. The Company mitigates its credit risk by maintaining credit insurance on most of its significant
customers.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Inventories</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Substantially all of the Company&#8217;s inventories
are valued at the lower of cost, principally determined by the last-in, first-out (LIFO) method, or net realizable value. Elements of
cost in inventories include raw materials, direct labor and manufacturing overhead.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Property,
Plant and Equipment</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Property, plant and equipment are carried at
cost. Depreciation is computed over useful lives using the straight-line and declining balance methods predominately over 15 years for
buildings, 7 years for machinery and equipment and 3 years for tools and dies. When assets are retired, sold or otherwise disposed of,
their gross carrying values and related accumulated depreciation are removed from the accounts and a gain or loss on such disposals is
recognized when appropriate.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Maintenance and repairs are charged to operations;
replacements and improvements are capitalized.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Long-lived Assets</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company evaluates the carrying value of long-lived
assets to be held and used when events or changes in circumstances indicate the carrying value may not be recoverable. In performing this
review, the carrying value of the assets is compared to the projected undiscounted cash flows to be generated from the assets. If the
sum of the undiscounted expected future cash flows is less than the carrying value of the assets, the assets are considered to be impaired.
Impairment losses are measured as the amount by which the carrying value of the assets exceeds their fair value. The Company bases fair
value of the assets on quoted market prices if available or, if not available, </p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">quoted market prices of similar assets. Where quoted market
prices are not available, the Company estimates fair value using the estimated future cash flows generated by the assets discounted at
a rate commensurate with the risks associated with the recovery of the assets. As of December 31, 2023, the Company does not believe there
are any indications of impairment related to long-lived assets.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; color: #252525"><span style="text-decoration:underline">Goodwill</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; color: #252525">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="color: #252525">The Company&#8217;s
goodwill represents the excess of the purchase price of business combinations over the fair value of the net assets acquired. We assess
goodwill for impairment on an annual basis during the fourth quarter of each year, and between annual tests whenever events or changes
in circumstances indicate that the carrying amount may not be recoverable. An impairment exists by the amount the fair value of a reporting
unit to which goodwill has been allocated is less than their respective carrying values. The impairment for goodwill is limited to the
total amount of goodwill allocated to the reporting unit. Goodwill impairment testing requires significant judgment and management estimates,
including, but not limited to, the determination of (i)&#160;the number of reporting units, (ii)&#160;the goodwill and other assets and
liabilities to be allocated to the reporting units and (iii)&#160;the fair values of the reporting units. The estimates and assumptions
described above, along with other factors such as discount rates, will significantly affect the outcome of the impairment tests and the
amounts of any resulting impairment losses.</span> As of December 31, 2023, the Company does not believe there are any indications of
impairment related to goodwill.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; color: #252525">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Income Taxes</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Income taxes are accounted for using the asset
and liability method. Under this method, deferred income taxes are recognized for the tax consequences of &#8220;temporary differences&#8221;
by applying enacted statutory rates applicable to future years to temporary differences between the financial statement carrying amounts
and the tax basis of the Company&#8217;s assets and liabilities.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Product Liability</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company provides for product liability claims
including estimated legal costs to be incurred defending such claims. The provision for product liability claims is charged to cost of
products sold.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Advertising Costs</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company includes advertising costs in selling
expenses and these costs are expensed as incurred. Advertising costs for 2023, 2022, and 2021, were $3.1 million, $2.4 million, and $2.6
million, respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Shipping
Costs</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Costs incurred related to the shipment of products
are included in selling expense. Such costs totaled $4.4 million, $4.7 million, and $4.2 million in 2023, 2022, and 2021, respectively.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Research and Development</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2023, 2022, and 2021, the Company spent approximately
$9.8 million, $9.6 million, and $11.7 million, respectively, on research and development activities relating to new products and the improvement
of existing products. These costs are included in costs of products sold and are expensed as incurred. These costs are capitalized for
tax purposes under the provisions of the Tax Cuts and Jobs Act of 2017 that relate to IRS Code Section 174, as discussed in Note 13.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Earnings per Share</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Basic earnings per share is based upon the weighted-average
number of shares of common stock outstanding during the year. Diluted earnings per share reflect the impact of options, restricted stock
units, and deferred stock outstanding using the treasury stock method.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Recent Accounting Pronouncements</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In November of 2023, the FASB issued ASU 2023-07,
&#8220;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures.&#8221; The updated accounting guidance requires
enhanced reportable segment disclosures, primarily related to significant segment expenses which are regularly provided to the chief operating
decision maker. The guidance is effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning
after December 15, 2024. Retrospective application is required and early adoption is permitted. The Company is currently evaluating the
effect the updated guidance will have on its financial statement disclosures.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In December of 2023, the FASB issued ASU 2023-09,
&#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures.&#8221; The updated accounting guidance requires expanded income
tax disclosures, including the disaggregation of existing disclosures related to the effective tax rate reconciliation and income taxes
paid. The guidance is effective for fiscal years beginning after December 15, 2024. Prospective application is required, with retrospective
application permitted. The Company is currently evaluating the effect the updated guidance will have on its financial statement disclosures.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<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 );">- References</a><div><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;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_SignificantAccountingPoliciesTextBlock">
<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 entire disclosure for all significant accounting policies of the reporting entity.</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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//235/tableOfContent<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;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R10.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869368657456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition and Contracts with Customers<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue Recognition and Contracts with Customers [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_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue Recognition and Contracts with Customers</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>2.</b></td><td><b>Revenue Recognition and Contracts with Customers</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The impact of ASC 60<span style="font-family: Times New Roman, Times, Serif">6
on revenue recognized during the years ended December 31, 2023, December 31, 2022, and</span> December 31, 2021 is as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="color: Black; font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">&#160;</td><td style="color: Black; font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="color: Black; font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="color: Black; font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2021</td><td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left; text-indent: -0.3in; padding-left: 0.3in">Contract liabilities with customers at January 1,</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">1,031</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-17">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">84</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.3in; padding-left: 0.3in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Revenue recognized</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(4,084</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-18">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(84</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 0.3in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Revenue deferred</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,202</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,031</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-19">&#8212;</div></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.3in; padding-left: 0.3in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -0.3in; padding-left: 0.3in">Contract liabilities with customers at December 31,</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">149</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">1,031</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-20">&#8212;</div></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During the year ended December 31, 2023, the Company
deferred $3.2 million of revenue, offset by the recognition of $4.1 million of revenue previously deferred as the performance obligations
relating to the shipment of free products were satisfied. This resulted in a net increase in firearms sales for the year ended December
31, 2023 of $0.9 million and a deferred contract revenue liability at December 31, 2023 of $0.1 million. The Company estimates that revenue
from this deferred contract liability will be recognized in the first quarter of 2024.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During the year ended December 31, 2022, the Company
deferred $1.0 million of revenue. There was no offset for the recognition from previously deferred revenue as the Company did not satisfy
any performance obligations relating to the shipment of free products during the year. This resulted in a net decrease in firearms sales
for the year ended December 31, 2022 of $1.0 million and a deferred contract revenue liability at December 31, 2022 of $1.0 million.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During the year ended December 31, 2021, there
were no promotions giving rise to deferred contract liabilities and, therefore, there was no additional deferred revenue. Previously deferred
revenue of $0.1 million was recognized in the first quarter of 2021. The Company did not have a deferred contract revenue liability at
December 31, 2021.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Practical Expedients and Exemptions</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company has elected to account for shipping
and handling activities that occur after control of the related product transfers to the customer as fulfillment activities that are recognized
upon shipment of the goods.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<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 );">- References</a><div><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;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_RevenueFromContractWithCustomerTextBlock">
<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 entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</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/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-9<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-15<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//606/tableOfContent<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;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R11.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869458365536">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Trade Receivables, Net<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_rgr_TradeReceivablesNetLineItems', window );"><strong>Trade Receivables, Net [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_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock', window );">Trade Receivables, Net</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>3.</b></td><td><b>Trade Receivables, Net</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Trade receivables consist of the following:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Trade receivables</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">61,428</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">67,183</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Allowance for doubtful accounts</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(400</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(400</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Allowance for discounts</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,164</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,334</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">59,864</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">65,449</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2023, the largest individual trade receivable
balances accounted for 22%, 20%, and 17% of total trade receivables, respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2022, the largest individual trade receivable
balances accounted for 26%, 23%, and 18% of total trade receivables, respectively.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_TradeReceivablesNetLineItems">
<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 );">- References</a><div><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;">rgr_TradeReceivablesNetLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock">
<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 entire disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//310-10/tableOfContent<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;">us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R12.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869366270256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventories [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_us-gaap_InventoryDisclosureTextBlock', window );">Inventories</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>4.</b></td><td style="text-align: justify"><b>Inventories</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Inventories consist of the following:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: normal; text-align: justify">Inventory at FIFO</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 74%; text-align: left; padding-left: 21.8pt">Finished goods</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">30,989</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">23,573</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid; padding-left: 21.8pt">Materials and products in process</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">119,203</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">105,721</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">150,192</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">129,294</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 21.8pt">Less:&#160;&#160;LIFO reserve</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(64,262</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(59,489</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid; padding-left: 21.8pt">Less:&#160;&#160;excess and obsolescence reserve</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(6,120</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(4,812</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Net inventories</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">79,810</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">64,993</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<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 );">- References</a><div><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;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_InventoryDisclosureTextBlock">
<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 entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</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/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//330/tableOfContent<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;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R13.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869368681552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property, Plant and Equipment<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [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_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Property, Plant and Equipment</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>5.</b></td><td><b>Property, Plant and Equipment</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Property, plant and equipment consist of the following:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Land and improvements</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">2,826</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">2,826</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Buildings and improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">74,650</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">72,788</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Machinery and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">322,730</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">314,032</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Dies and tools</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">62,191</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">57,480</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Property, plant and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">462,397</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">447,126</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Less allowances for depreciation</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(390,863</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(370,273</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Net property, plant and equipment</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">71,534</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">76,853</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Depreciation expense totaled $21.1 million, $24.4
million, and $25.8 million in 2023, 2022, and 2021, respectively.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<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 );">- References</a><div><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;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<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 entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//360/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-7<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;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R14.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869458561744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Other Assets<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_OtherAssetsAbstract', window );"><strong>Other Assets [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_us-gaap_OtherAssetsDisclosureTextBlock', window );">Other Assets</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>6.</b></td><td><b>Other Assets</b></td></tr></table>

<p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Other assets consist of the following:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Patents, at cost</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">10,280</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">10,126</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 14.8pt">Accumulated amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(7,171</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(6,318</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deposits on capital items</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">23,045</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17,106</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Marlin trade name</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,800</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">9,958</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">11,249</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">43,912</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">39,963</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The capitalized cost of patents is amortized
using the straight-line method over their useful lives. Expenses related to patent amortization was $0.4 million in 2023, $0.4 million
in 2022, and $0.3 million in 2021. The estimated annual patent amortization expense for each of the next five years is $0.3 million.
Costs incurred to maintain existing patents are charged to expense in the year incurred. The Marlin trade name will be amortized using
the straight-line method over its useful life. The estimated annual trade name amortization cost for each of the next five years is $0.4
million. The intangible asset related to Marlin customer relationships are included in Other above and will be amortized using the straight-line
method over its useful life. The estimated annual customer relationship name amortization expense for each of the next five years is
$0.1 million.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsAbstract">
<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 );">- References</a><div><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;">us-gaap_OtherAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_OtherAssetsDisclosureTextBlock">
<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 entire disclosure for other assets. This disclosure includes other current assets and other noncurrent assets.</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;">us-gaap_OtherAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R15.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869368570512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leased Assets<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Leased Assets [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_us-gaap_LesseeOperatingLeasesTextBlock', window );">Leased Assets</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>7.</b></td><td><b>Leased Assets</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company leases certain of its real estate
and equipment. The Company has evaluated all its leases and determined that all are operating leases under the definitions of the guidance
of ASU 2016-02. The Company&#8217;s lease agreements generally do not require material variable lease payments, residual value guarantees
or restrictive covenants.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company uses the effective interest method
to record right-of-use assets equal to the present value of the contractual liability for future lease payments. The table below presents
the right-of-use assets and related lease liabilities recognized on the condensed consolidated balance sheet as of December 31, 2023:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">&#160;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Balance Sheet Line <br/>
Item</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">December 31, <br/>
2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">December 31, <br/>
2022</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 49%; text-align: left">Right-of-use assets</td><td style="width: 1%">&#160;</td>
    <td style="width: 20%; text-align: center">Other assets</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">2,781</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">3,681</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="text-align: justify; border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Operating lease liabilities</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; vertical-align: top; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; vertical-align: top; text-align: left">Current portion</td><td>&#160;</td>
    <td style="text-align: center">Trade accounts payable and accrued expenses</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">611</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">642</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 20pt">Noncurrent portion</td><td>&#160;</td>
    <td style="text-align: center; text-indent: 5.3pt">Lease liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,170</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,039</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 18.55pt">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="text-align: right; border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 2.5pt double">Total operating lease liabilities</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="text-align: right; border-bottom: Black 2.5pt double">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,781</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">3,681</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The depreciable lives of right-of-use assets are
limited by the lease term and are amortized on a straight line basis over the life of the lease.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s leases generally do not provide
an implicit interest rate, and therefore the Company calculates an incremental borrowing rate to determine the present value of its operating
lease liabilities. The following table reconciles the undiscounted future minimum lease payments to the total operating lease liabilities
recognized on the condensed consolidated balance sheet as of December 31, 2023:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 85%; text-align: left; padding-left: 30.75pt">2024</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">808</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt">2025</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">702</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">705</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">229</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt">2028</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">160</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 30.75pt; vertical-align: bottom">Thereafter</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">960</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt">Total undiscounted future minimum lease payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,564</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left; padding-bottom: 1pt; text-indent: -22.5pt; padding-left: 53.25pt">Less: Difference between undiscounted lease payments &amp; the present value of future lease payments</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(783</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-bottom: 2.5pt; padding-left: 30.75pt">Total operating lease liabilities</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,781</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Certain of the Company&#8217;s lease agreements
contain renewal options at the Company&#8217;s discretion. The Company does not recognize right-of-use assets or lease liabilities for
leases of one year or less or for renewal periods unless it is reasonably certain that the Company will exercise the renewal option at
the inception of the lease or when a triggering event occurs. The Company&#8217;s weighted average remaining lease term for operating
leases as of December 31, 2023 is 7.9 years.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<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 );">- References</a><div><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;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_LesseeOperatingLeasesTextBlock">
<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 entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</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/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//842-20/tableOfContent<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;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R16.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869364955792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Trade Accounts Payable and Accrued Expenses<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract', window );"><strong>Trade Accounts Payable and Accrued Expenses [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_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock', window );">Trade Accounts Payable and Accrued Expenses</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>8.</b></td><td><b>Trade Accounts Payable and Accrued Expenses</b></td></tr></table>

<p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Trade accounts payable and accrued expenses consist
of the following:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; text-align: left">Trade accounts payable</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">11,100</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">13,281</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Federal excise taxes payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,954</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">13,635</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Accrued other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">8,654</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">8,742</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">31,708</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">35,658</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract">
<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 );">- References</a><div><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;">us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock">
<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 entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a),20,24)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R17.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869368356976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Dividends<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_rgr_AccruedDividendsLineItems', window );"><strong>Accrued Dividends [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_us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock', window );">Accrued Dividends</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>9.</b></td><td><b>Accrued Dividends</b></td></tr></table>

<p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On November 30, 2022, the Company&#8217;s Board
of Directors declared a $5.00 per share special dividend payable on January 5, 2023 to stockholders of record as of December 15, 2022.
The dividend, which totaled $88.3 million, was paid on January 5, 2023.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_AccruedDividendsLineItems">
<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 );">- References</a><div><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;">rgr_AccruedDividendsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock">
<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 entire disclosure for accounts payable, accrued expenses, and other liabilities that are classified as current at the end of the reporting period.</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;">us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R18.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869368502960">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Line of Credit<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_LineOfCreditFacilityAbstract', window );"><strong>Line of Credit [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_LineOfCreditFacilitiesTextBlock', window );">Line of Credit</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>10.</b></td><td><b>Line of Credit</b></td></tr></table>

<p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2021 the Company had a <span style="font-size: 10pt">$40
million</span> unsecured revolving line of credit with a bank. This facility terminated on September 30, 2021. On January 7, 2022, the
Company entered into a new $40 million unsecured revolving line of credit agreement with a different bank that expires January 7, 2025.
Borrowings under this new facility bear interest at either 1) the Bloomberg short-Term Bank Yield Index &#8211; 1 month plus 150 basis
points, or 2) a fluctuating rate per annum equal to the greater of (i) the Bank&#8217;s prime rate or (ii) the federal funds rate plus
50 basis points. The Company is also charged one-quarter of a percent (0.25%) per year on the unused portion. At December 31, 2023, the
Company was in compliance with the terms and covenants of the credit facility.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_LineOfCreditFacilitiesTextBlock">
<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 entire disclosure for short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line.</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;">rgr_LineOfCreditFacilitiesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr:textBlockItemType</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_us-gaap_LineOfCreditFacilityAbstract">
<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 );">- References</a><div><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;">us-gaap_LineOfCreditFacilityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R19.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869364136784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Employee Benefit Plans<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_rgr_EmployeeBenefitPlansLineItems', window );"><strong>Employee Benefit Plans [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_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock', window );">Employee Benefit Plans</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>11.</b></td><td style="text-align: justify"><b>Employee Benefit Plans</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company sponsors a qualified defined-contribution
401(k) plan that covers substantially all of its employees. Under the terms of the 401(k) plan, the Company matches a certain portion
of employee contributions to their individual 401(k) accounts using the &#8220;safe harbor&#8221; guidelines provided in the Internal
Revenue Code. Expenses related to matching employee contributions to the 401(k) plan were $4.7 million, $4.1 million, and $4.0 million
in 2023, 2022, and 2021, respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Additionally, in 2023, 2022, and 2021 the Company
provided discretionary supplemental contributions to the individual 401(k) accounts of substantially all employees. Each employee received
a supplemental contribution to their account based on a uniform percentage of qualifying compensation established annually. The cost of
these supplemental contributions totaled $6.9 million, $7.4 million, and $7.4 million in 2023, 2022, and 2021, respectively.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_EmployeeBenefitPlansLineItems">
<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 );">- References</a><div><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;">rgr_EmployeeBenefitPlansLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock">
<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 entire disclosure for retirement benefits.</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/disclosureRef<br> -Topic 715<br> -SubTopic 70<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480794/715-70-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (q)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//715/tableOfContent<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (o)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (p)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480126/715-20-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480266/715-60-50-3<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;">us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R20.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869364948080">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Other Operating Income, Net<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_rgr_OtherOperatingIncomeNetLineItems', window );"><strong>Other Operating Income, Net [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_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock', window );">Other Operating Income, Net</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>12.</b></td><td style="text-align: justify"><b>Other Operating Income, Net</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Other operating income, net consists of the following:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">Year ended December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2021</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 55%">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Gain on sale of operating assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">5</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">36</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">127</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_OtherOperatingIncomeNetLineItems">
<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 );">- References</a><div><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;">rgr_OtherOperatingIncomeNetLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock">
<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 entire disclosure for other income or other expense items (both operating and nonoperating). Sources of nonoperating income or nonoperating expense that may be disclosed, include amounts earned from dividends, interest on securities, profits (losses) on securities, net and miscellaneous other income or income deductions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 610<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//610/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 720<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//720/tableOfContent<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;">us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R21.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869366258000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Taxes [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_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text"><table border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">
<tr style="vertical-align: top">
  <td style="text-align: justify; width: 0.5in"><b>13.</b></td>
  <td style="text-align: justify"><b>Income Taxes </b></td></tr>
</table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company files income tax returns in the U.S.
federal jurisdiction and various state jurisdictions. With few exceptions, the Company is no longer subject to U.S. federal and state
income tax examinations by tax authorities for years before 2017.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The federal and state income tax provision consisted of the following:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">Year ended December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="6" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="6" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="6" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2021</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Current</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Deferred</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Current</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Deferred</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Current</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Deferred</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 34%">Federal</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 8%; text-align: right">14,763</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 8%; text-align: right">(5,285</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 8%; text-align: right">21,741</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 8%; text-align: right">(4,694</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 8%; text-align: right">42,422</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 8%; text-align: right">863</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">State</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,713</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(582</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,779</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(879</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">7,279</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">131</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">16,476</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">(5,867</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">25,520</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">(5,573</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">49,701</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">994</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The effective income tax rate varied from the statutory federal income
tax rate as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">Year ended December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2021</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left; text-indent: -13.75pt; padding-left: 13.75pt">Statutory federal income tax rate</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">21.0%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">21.0%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">21.0%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -13.75pt; padding-left: 13.75pt">State income taxes, net of federal tax benefit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2.2</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2.7</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3.4</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Research and development tax credits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(2.7</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(4.2</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(0.4</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-indent: -13.75pt; padding-left: 13.75pt">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(2.5</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1.1</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">0.5</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -13.75pt; padding-left: 13.75pt">Effective income tax rate</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">18.0%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">18.4%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">24.5%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company estimates that its effective tax rate
in 2024 will approximate 21%.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>&#160;</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Significant components of the Company&#8217;s
deferred tax assets and liabilities are as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Deferred tax assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left; padding-left: 22.5pt">Capitalized research and development costs</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">9,144</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">4,838</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 22.5pt">Employee compensation and benefits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,452</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,316</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 22.5pt">Allowances for doubtful accounts and discounts</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">431</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">637</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 22.5pt">Inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,635</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,196</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 22.5pt">Stock-based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,698</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,661</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 22.5pt">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,608</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,705</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Total deferred tax assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">16,968</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">12,353</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Deferred tax liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -4.5pt; padding-left: 27pt">Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,578</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,070</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-indent: -4.5pt; padding-left: 27pt">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,414</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,174</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Total deferred tax liabilities</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">4,992</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">6,244</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Net deferred tax assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">11,976</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">6,109</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Prior to 2022, the Company expensed research and
development costs in the period in which they were incurred for both financial accounting and income tax purposes. In 2022 the Company
adopted the provisions of the Tax Cuts and Jobs Act of 2017 that relate to IRS Code Section 174. Under these provisions, research and
development costs must be capitalized and amortized over five years for income tax purposes. The Company continues to expense these costs
in the period incurred for financial accounting purposes.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company made income tax payments of approximately
$26.0 million, $28.7 million, and $49.5 million, during 2023, 2022, and 2021, respectively. The Company expects to realize its deferred
tax assets through tax deductions against future taxable income<i>. </i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company does not believe it has included any
&#8220;uncertain tax positions&#8221; in its federal income tax return or any of the state income tax returns it is currently filing.
The Company has made an evaluation of the potential impact of additional state taxes being assessed by jurisdictions in which the Company
does not currently consider itself liable. The Company does not anticipate that such additional taxes, if any, would result in a material
change to its financial position.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<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 );">- References</a><div><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;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_IncomeTaxDisclosureTextBlock">
<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 entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</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/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//740/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482526/740-270-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482603/740-30-50-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;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R22.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869365502560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings Per Share<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [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_us-gaap_EarningsPerShareTextBlock', window );">Earnings Per Share</a></td>
<td class="text"><table border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">
<tr style="vertical-align: top">
  <td style="width: 0.5in"><b>14.</b></td>
  <td><b>Earnings Per Share</b></td></tr>
</table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Set forth below is a reconciliation of the numerator
and denominator for the basic and diluted earnings per share calculations for the periods indicated:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">Year ended December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2021</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Numerator:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 61%; text-align: left; text-indent: 17.9pt; padding-left: 0.1pt">Net income</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">48,215</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">88,332</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">155,899</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Denominator:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -9pt; padding-left: 27pt">Weighted average number of common shares outstanding &#8211; Basic</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17,676,955</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17,648,850</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17,585,604</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -9pt; padding-left: 27pt">Dilutive effect of options and restricted stock units outstanding under the Company&#8217;s employee compensation plans</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">134,263</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">144,498</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">172,230</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-indent: -27pt; padding-left: 27pt">Weighted average number of common shares outstanding &#8211; Diluted</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">17,811,218</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">17,793,348</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">17,757,834</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<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 );">- References</a><div><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;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_EarningsPerShareTextBlock">
<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 entire disclosure for earnings per share.</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/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//260/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-3<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;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R23.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869365502560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Repurchases<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract', window );"><strong>Stock Repurchases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_StockRepurchasesTextBlock', window );">Stock Repurchases</a></td>
<td class="text"><table border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">
<tr style="vertical-align: top">
  <td style="width: 0.5in"><b>15.</b></td>
  <td><b>Stock Repurchases</b></td></tr>
</table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2023 and 2022 the Company repurchased shares
of its common stock. Details of these purchases are as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">Period</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Total <br/>
Number of <br/>
Shares<br/>
 Purchased</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Average<br/>
 Price Paid <br/>
per Share</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Total Number<br/>
 of Shares <br/>
Purchased as <br/>
Part of <br/>
Publicly<br/>
 Announced <br/>
Program</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Maximum <br/>
Dollar Value<br/>
 of Shares that<br/>
 May Yet Be<br/>
 Purchased <br/>
Under the<br/>
 Program</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -1.05pt; padding-left: 0pt">Third Quarter 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">July 3 to July 30</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-21">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-22">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-23">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">July 31 to August 27</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-24">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-25">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-26">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; width: 48%; padding-left: 10pt">August 28 to October 1</td><td style="width: 1%; border-bottom: Black 1pt solid">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">2,136</td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 1%; border-bottom: Black 1pt solid">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">49.97</td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 1%; border-bottom: Black 1pt solid">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">2,136</td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 1%; border-bottom: Black 1pt solid">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Fourth Quarter 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">October 2 to October 29</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-27">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-28">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-29">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">October 30 to November 26</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,304</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">49.77</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,304</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 10pt">November 27 to December 31</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-30">&#8212;</div></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-31">&#8212;</div></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-32">&#8212;</div></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Fourth Quarter 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">October 1 to October 28</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-33">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-34">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-35">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">October 29 to November 25</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">179,341</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">45.20</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">179,341</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 10pt">November 26 to December 31</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">84,721</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">43.67</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">84,721</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 0pt">Total</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">268,502</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">44.79</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">268,502</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">74,680,000</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">All of these purchases were made with cash held
by the Company and no debt was incurred. No shares were repurchased in 2021.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At December 31, 2023, approximately $74.7 million
remained authorized for share repurchases.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_StockRepurchasesTextBlock">
<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 entire disclosure of stock repurchase.</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;">rgr_StockRepurchasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr:textBlockItemType</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_us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract">
<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 );">- References</a><div><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;">us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R24.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869365502560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Compensation Plans<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_ShareBasedCompensationAbstract', window );"><strong>Compensation Plans [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_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Compensation Plans</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>16.</b></td><td style="text-align: justify"><b>Compensation Plans</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In May 2017, the Company&#8217;s shareholders
approved the 2017 Stock Incentive Plan (the &#8220;2017 SIP&#8221;) under which employees, independent contractors, and non-employee directors
may be granted stock options, restricted stock, deferred stock awards, and stock appreciation rights, any of which may or may not require
the satisfaction of performance objectives. Vesting requirements are determined by the Compensation Committee of the Board of Directors<i>.
</i>The Company has reserved 750,000 shares for issuance under the 2017 SIP.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In June 2023, the Company&#8217;s shareholders
approved the 2023 Stock Incentive Plan (the &#8220;2023 SIP&#8221;) under which employees, independent contractors, and non-employee directors
may be granted stock options, restricted stock, deferred stock awards, and stock appreciation rights, any of which may or may not require
the satisfaction of performance objectives. Vesting requirements are determined by the Compensation Committee of the Board of Directors.
The Company reserved 1,000,000 shares for issuance under the 2023 SIP, of which 869,000 shares remain available for future grants as of
December 31, 2023. Any shares remaining from the 2017 SIP will be available for future grants under the terms of the 2023 SIP. As of December
31, 2023, 121,034 shares remained unawarded from the 2017 SIP. Since the shareholder approval of the 2023 SIP, no additional awards have
been or will be granted under the 2017 SIP. Previously granted and outstanding awards under the 2017 SIP will remain subject to the terms
of the 2017 SIP.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Compensation expense related to deferred stock,
restricted stock, and restricted stock units is recognized based on the grant-date fair value of the Company&#8217;s common stock, using
either the actual share price or an estimated value using the Monte Carlo valuation model. The total stock-based compensation cost included
in the Statements of Income was $6.2 million, $5.7 million, and $8.3 million in 2023, 2022, and 2021, respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Deferred Stock</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Deferred stock awards vest based on the passage
of time or the Company&#8217;s attainment of performance objectives. Upon vesting, these awards convert one-for-one to common stock.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2023, 7,566 deferred stock awards were issued
to non-employee directors that will vest in June 2024 and 9,760 deferred stock awards were issued to non-employee directors that will
vest in June 2026.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2022, 5,953 deferred stock awards were issued
to non-employee directors that vested in May 2023, 7,688 deferred stock awards were issued to non-employee directors that will vest in
May 2025 and a 1,478 deferred stock award was issued to a non-employee director that will vest in June 2027.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2021, 5,113 deferred stock awards were issued
to non-employee directors that vested in May 2022 and 6,615 deferred stock awards were issued to non-employee directors that will vest
in May 2024.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Compensation expense related to these awards is
amortized ratably over the vesting period. Compensation expense related to these awards was $0.9 million in 2023, $0.8 million in 2022,
and $0.8 million in 2021.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At December 31, 2023, there was $1.0 million of
unrecognized compensation cost related to deferred stock that is expected to be recognized over a period of three years.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Restricted Stock Units</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company grants restricted stock units (RSU&#8217;s)
to senior employees. Some of these RSU&#8217;s are retention awards and have only time-based vesting. Other RSU&#8217;s have a vesting
&#8220;double trigger.&#8221; The vesting of these RSU&#8217;s is dependent on the achievement of corporate objectives established by
the Compensation Committee of the Board of Directors, including return on net operating assets, stock performance, and the passage of
time.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2023, 114,000 restricted stock units were
issued. Compensation costs related to these restricted stock units was $6.1 million, of which $1.3 million was recognized in 2023. The
costs are being recognized ratably over the remaining periods required before the units vest, which range from 24 to 26 months.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2022, 82,000 restricted stock units were
issued. Compensation costs related to these restricted stock units was $6.0 million, of which $1.7 million was recognized in 2022. The
costs are being recognized ratably over the remaining periods required before the units vest, which range from 24 to 26 months.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2021, 82,000 restricted stock units were
issued. Compensation costs related to these restricted stock units was $5.6 million, of which $1.6 million was recognized in 2021. The
costs are being recognized ratably over the remaining periods required before the units vest, which range from 24 to 26 months.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At December 31, 2023, there was $7.5 million of
unrecognized compensation cost related to restricted stock units that is expected to be recognized over a period of 3.3 years.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<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 entire disclosure for share-based payment arrangement.</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/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_ShareBasedCompensationAbstract">
<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 );">- References</a><div><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;">us-gaap_ShareBasedCompensationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R25.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869477772640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Segment Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_SegmentReportingAbstract', window );"><strong>Operating Segment Information [Abstarct]</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_us-gaap_SegmentReportingDisclosureTextBlock', window );">Operating Segment Information</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>17.</b></td><td style="text-align: justify"><b>Operating Segment Information</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company has two reportable operating segments:
firearms and castings. The firearms segment manufactures and sells rifles, pistols, and revolvers principally to a number of federally-licensed,
independent wholesale distributors primarily located in the United States. The castings segment manufactures and sells steel investment
castings and metal injection molding parts.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Corporate segment income relates to interest income,
the sale of non-operating assets, and other non-operating activities. Corporate segment assets consist of cash and other non-operating
assets.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company evaluates performance and allocates
resources, in part, based on income (loss) before taxes. The accounting policies of the reportable segments are the same as those described
in the summary of significant accounting policies (see Note 1). Intersegment sales are recorded at the Company&#8217;s cost plus a fixed
profit percentage.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">Year ended December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2021</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: normal; text-align: left">Net Sales</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 61%">Firearms</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">540,746</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">593,289</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">728,141</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Castings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt">Unaffiliated</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,021</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,553</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,595</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 20pt">Intersegment</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">33,086</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">21,306</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">24,711</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">36,107</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">23,859</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">27,306</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Eliminations</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(33,086</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(21,306</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(24,711</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">543,767</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">595,842</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">730,736</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Income (Loss) Before Income Taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">53,723</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">108,610</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">207,657</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Castings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(798</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(3,338</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(2,732</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Corporate</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">5,899</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,007</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,669</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">58,824</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">108,279</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">206,594</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Identifiable Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">228,699</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">223,301</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">188,290</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Castings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,144</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,910</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">13,889</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Corporate</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">158,974</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">249,552</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">240,164</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">398,817</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">484,763</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">442,343</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Goodwill</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3,055</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3,055</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3,055</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">209</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">209</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">209</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">3,264</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">3,264</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">3,264</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">19,301</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">21,992</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">22,842</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,814</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2,452</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2,959</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">21,115</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">24,444</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">25,801</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Capital Expenditures</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">15,395</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">26,598</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">25,239</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">401</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,175</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,537</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">15,796</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">27,773</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">28,776</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2023, the Company&#8217;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#8217;s - 24%; Davidson&#8217;s - 19%; and Sports South -15%.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2022, the Company&#8217;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#8217;s - 23%; Davidson&#8217;s - 23%; and Sports South - 21%.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2021, the Company&#8217;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#8217;s - 21%; Sports South - 19%; and Davidson&#8217;s - 19%.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s assets are located entirely
in the United States and domestic sales represented at least 94% of total sales in 2023, 2022, and 2021.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<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 );">- References</a><div><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;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_SegmentReportingDisclosureTextBlock">
<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 entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</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/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//280/tableOfContent<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-26<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 34<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-34<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<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;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R26.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869477772640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Quarterly Results of Operations (Unaudited)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_QuarterlyFinancialInformationDisclosureAbstract', window );"><strong>Quarterly Results of Operations (Unaudited) [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_us-gaap_QuarterlyFinancialInformationTextBlock', window );">Quarterly Results of Operations (Unaudited)</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>18.</b></td><td style="text-align: justify"><b>Quarterly Results of Operations (Unaudited)</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The following is a tabulation of the unaudited
quarterly results of operations for the two years ended December 31, 2023:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Three Months Ended</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">4/1/23</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">7/1/23</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">9/30/23</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">12/31/23</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; font-weight: normal; text-align: left; text-indent: 0.5pt">Net Sales</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">149,453</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">142,804</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">120,893</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">130,617</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 0.5pt">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">38,486</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">38,148</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">24,728</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">32,257</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: 0.5pt">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">14,350</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">16,185</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,431</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,249</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: 0.5pt">Basic earnings per share</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.81</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.91</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.42</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.58</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-indent: 0.5pt">Diluted earnings per share</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.81</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.91</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.42</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.58</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Three Months Ended</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">4/2/22</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">7/2/22</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">10/1/22</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">12/31/22</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; font-weight: normal; text-align: left">Net Sales</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">166,575</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">140,653</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">139,390</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">149,224</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">58,108</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">43,554</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">38,869</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">39,554</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">30,232</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">20,757</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">18,389</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">18,954</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Basic earnings per share</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.72</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.18</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.04</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.07</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">Diluted earnings per share</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">1.70</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">1.17</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">1.03</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">1.06</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_QuarterlyFinancialInformationDisclosureAbstract">
<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 );">- References</a><div><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;">us-gaap_QuarterlyFinancialInformationDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_QuarterlyFinancialInformationTextBlock">
<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 entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information.</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/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482964/270-10-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 270<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//270/tableOfContent<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;">us-gaap_QuarterlyFinancialInformationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R27.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869477772640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Party Transactions<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_RelatedPartyTransactionsAbstract', window );"><strong>Related Party Transactions [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_us-gaap_RelatedPartyTransactionsDisclosureTextBlock', window );">Related Party Transactions</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>19.</b></td><td><b>Related Party Transactions </b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">From time to time, the Company contracts with
the National Rifle Association (&#8220;NRA&#8221;) for some of its promotional and advertising activities. The Company paid the NRA $0.5
million, $0.7 million and $0.5 million in 2023, 2022, and 2021, respectively. One of the Company&#8217;s Directors also serves as a Director
on the Board of the NRA.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company is a member of the National Shooting
Sports Foundation (&#8220;NSSF&#8221;), the firearm industry trade association. <span style="font-family: Times New Roman, Times, Serif">The
Company paid the NSSF $0.3 million, $0.3 million and $0.4 million in 2023, 2022, and 2021, respectively. </span>One of the Company&#8217;s
Directors also serves on the Board of the NSSF.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsAbstract">
<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 );">- References</a><div><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;">us-gaap_RelatedPartyTransactionsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_RelatedPartyTransactionsDisclosureTextBlock">
<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 entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.</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/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(g)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(e))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//850/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-6<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-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;">us-gaap_RelatedPartyTransactionsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R28.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869477772640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Contingent Liabilities<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_LossContingencyAbstract', window );"><strong>Contingent Liabilities [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_us-gaap_LegalMattersAndContingenciesTextBlock', window );">Contingent Liabilities</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>20.</b></td><td><b>Contingent Liabilities </b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">As
of December 31, 2023, the Company was a defendant in nine (9) lawsuits and is aware of certain other such claims. The lawsuits</span>
generally <span style="font-family: Times New Roman, Times, Serif">fall into four (4) categories: traditional product liability litigation,
municipal litigation</span>, negligence, and unfair trade practices<span style="font-family: Times New Roman, Times, Serif">. Each is
discussed in turn below.</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Traditional Product Liability Litigation </span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">One lawsuit involves a claim for damages
related to an allegedly defective product due to its design and/or manufacture. The lawsuit stems from a specific incident of
personal injury and is based on traditional product liability theories such as strict liability, negligence, and/or breach of
warranty.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company believes that the allegations in this
case are unfounded, that the incident is unrelated to the design or manufacture of the firearm involved, and that there should be no recovery
against the Company.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Municipal Litigation</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Municipal
litigation generally includes those cases brought by cities or other governmental entities against firearms manufacturers, distributors
and retailers seeking to recover damages allegedly arising out of the criminal misuse of firearms by third parties. </span>There are four
(4) lawsuits of this type, as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Complaint in <i>City of Gary v. Smith &amp;
Wesson Corp., et al</i>. was filed in Indiana State Court in 1999 and <span style="font-family: Times New Roman, Times, Serif">seeks damages,
among other things, for the costs of <span style="color: #161118">medical care</span><span style="color: #2F262F">,</span> <span style="color: #161118">police
and emergency services, public health services</span><span style="color: #2F262F">,</span> <span style="color: #161118">and other services
as well as punitive damages. In addition</span><span style="color: #2F262F">,</span> <span style="color: #161118">nuisance abatement and/or
injunctive relief is sought to change th</span><span style="color: #2F262F">e</span> <span style="color: #161118">design</span><span style="color: #2F262F">,</span>
<span style="color: #161118">manufacture</span><span style="color: #2F262F">,</span> <span style="color: #161118">mark</span><span style="color: #2F262F">e</span><span style="color: #161118">ting
and distribution practices of th</span><span style="color: #2F262F">e</span> <span style="color: #161118">various defendants. The suit
alleges</span><span style="color: #2F262F">,</span> <span style="color: #161118">among other claims</span><span style="color: #2F262F">,</span>
<span style="color: #161118">negligence in the design of products</span><span style="color: #2F262F">,</span> <span style="color: #161118">public
nuisance</span><span style="color: #2F262F">,</span> <span style="color: #161118">negligent distribution and marketing</span><span style="color: #2F262F">,</span>
<span style="color: #161118">negligence per se and deceptive advertising. The case does not allege a specific injury to a specific individual</span>
as a result <span style="color: #161118">of the misuse or use of any of the Company's products. After a long procedural history, during
the quarter ended April 3, 2021, the City initiated discovery and the manufacturer Defendants reciprocated. Discovery is ongoing.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif"><i>Estados
Unidos Mexicanos v. Smith &amp; Wesson Brands, Inc., et al.</i> was filed by the Country of Mexico in August 2021 in the U.S. District
Court for the District of Massachusetts and names seven defendants, mostly U.S.-based firearms manufacturers, including the Company.
The Complaint advances a variety of legal theories including negligence, public nuisance, unjust enrichment, restitution, and others.
Plaintiff essentially alleges that Defendants design, manufacture, distribute, market and sell firearms in a way that they know results
in the illegal trafficking of firearms into Mexico, where they are used by Mexican drug cartels for criminal activities. Plaintiff seeks
injunctive relief and monetary damages. </span>On November 22, 2021, Defendants filed a joint motion to dismiss the Complaint for, among
other things, failure to state a claim on which relief may be granted. On September 30, 2022, the court entered an order granting Defendants&#8217;
motion. On October 26, 2022, Plaintiff filed a Notice of Appeal and the matter was briefed before the First Circuit Court of Appeals.
Oral argument was held on July 24, 2023. On January 22, 2024, the First Circuit Court of Appeals issued an opinion reversing the District
Court&#8217;s dismissal case and remanding the case for further proceedings.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On December 20, 2022, the City of Buffalo, New
York filed a lawsuit captioned <i>The City of Buffalo v. Smith &amp; Wesson Brands, Inc., et al.</i> in the New York State Supreme Court
for Erie County, New York. The suit names a number of firearm manufacturers, distributors, and retailers as defendants, including the
Company, and purports to state causes of action for violations of Sections 898, 349 and 350 of the New York General Business Law, as well
as common law public nuisance. Generally, plaintiff alleges that the criminal misuse of firearms in the City of Buffalo is the result
of the manufacturing, sales, marketing, and distribution practices of the defendants. The defendants timely removed the matter to the
U.S. District Court for the Western District of New York.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On December 21, 2022, the City of Rochester, New
York filed a lawsuit captioned <i>The City of Rochester v. Smith &amp; Wesson Brands, Inc., et al. </i>in the New York State Supreme Court
for Monroe County, New York. The suit names a number of firearm manufacturers, distributors, and retailers as defendants, including the
Company, and purports to state causes of action for violations of Sections 898, 349 and 350 of the New York General Business Law, as well
as common law public nuisance. The allegations essentially mirror those in <i>Buffalo</i>, discussed in the preceding paragraph. Defendants
timely removed the matter to the U.S. District Court for the Western District of New York.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Defendants moved to consolidate the <i>Buffalo</i>
and <i>Rochester</i> cases for pretrial purposes only. Defendants also moved to stay the cases pending a decision by the Second Circuit
Court of Appeals in <i>National Shooting Sports Foundation, Inc. et al. v. James</i>, which challenges the constitutionality of the recently
enacted <span style="font-variant: small-caps">N.Y. Gen. Bus. Law</span> &#167;&#167;&#160;898-a&#8211;e. On June 8, 2023, the court granted
Defendants&#8217; motions and the cases were consolidated for pretrial purposes and stayed.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Negligence</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>Rossiter v. Sturm, Ruger, et al.</i> is a lawsuit
arising out of a slip and fall accident by a contract security officer in December 2019. The Complaint was filed in the Superior Court
for Sullivan County, New Hampshire on December 13, 2022 and names Pine Hill Construction, a snow removal contractor, as a Defendant. The
Company has tendered the defense of this matter to its insurance carrier and is assisting as required.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company was named in two purported class action
lawsuits arising out of a data breach at Freestyle Solutions, Inc., the vendor who was hosting the Company&#8217;s ShopRuger.com website
at the time of the breach. <i>Jones v. Sturm, Ruger &amp; Co.,</i> was filed in the U.S. District Court for Connecticut on October 4,
2022 and <i>Copeland v. Sturm, Ruger &amp; Company, et al.</i> was filed in the U.S. District Court for New Jersey on October 27, 2022.
<i>Copeland</i> also named Freestyle Solutions, Inc. as a defendant. By agreement of the parties, <i>Copeland</i> was dismissed, without
prejudice, and consolidated with <i>Jones</i> in the pending Connecticut case. On January 20, 2023, five plaintiffs filed an Amended Complaint
naming the Company and Freestyle Solutions, Inc. as defendants. The Complaint alleges causes of action for negligence, breach of implied
warranties, and unjust enrichment. The Company moved to dismiss the Amended Complaint, the motion has been briefed fully, and the parties
are awaiting a ruling.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Unfair Trade Practices</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>Estate of Suzanne Fountain v. Sturm, Ruger
&amp; Co., Inc.,</i> was filed in the Connecticut Superior Court in Stamford and arises out of the criminal shootings at the King Soopers
supermarket in Boulder, Colorado on March 22, 2021. On that date, Plaintiff&#8217;s decedent, Suzanne Fountain, was murdered by 21-year-old
<span style="color: #202122; background-color: white">Ahmad Al Aliwi Al-Issa. The Complaint alleged that the Company&#8217;s advertising
and marketing of the Ruger AR-556 pistol violate the Connecticut Unfair Trade Practices Act and were a substantial factor in bringing
about the wrongful death of Suzanne Fountain. </span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; color: #202122">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>Estate of Neven Stanisic et al. v. Sturm, Ruger
&amp; Co., Inc.,</i> was filed in the Connecticut Superior Court in Stamford on behalf of five plaintiffs. Like <i>Estate of Suzanne Fountain</i>,
the claims arise from the criminal shootings at the King Soopers supermarket in Boulder, Colorado on March 22, 2021. Plaintiffs&#8217;
decedents were murdered by <span style="color: #202122; background-color: white">Ahmad Al Aliwi Al-Issa and Plaintiffs alleged that the
Company&#8217;s advertising and marketing of the Ruger AR-556 pistol violate the Connecticut Unfair Trade Practices Act and were a substantial
factor in causing the wrongful death of Plaintiffs&#8217; decedents.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; color: #202122">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; color: #202122"><span style="background-color: white">The
<i>Fountain</i> and <i>Stanisic</i> cases were consolidated for discovery purposes only and transferred by the court to the Complex Litigation
Docket. Plaintiffs then sought leave to file an Amended Complaint, essentially abandoning their negligent marketing allegations and advancing
a new theory predicated upon alleged violations of the Gun Control Act and National Firearms Act. Over the Company&#8217;s objections,
Plaintiffs were permitted to file the Amended Complaint. </span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; color: #202122">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; color: #202122"><span style="background-color: white">The
matter was timely removed to the U.S. District Court for the District of Connecticut based upon the new allegations and federal question
jurisdiction. Plaintiffs moved to remand the case to state court, the matter has been briefed fully, and the parties are awaiting a ruling.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Summary of Claimed Damages and Explanation
of Product Liability Accruals</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="color: #161118">Punitive damages</span><span style="color: #2F262F">,</span>
<span style="color: #161118">as well as compensatory damages, are demanded in certain of the lawsuits and claims. In many instances</span><span style="color: #2F262F">,</span>
<span style="color: #161118">the plaintiff does not seek a specified amount of money</span><span style="color: #2F262F">,</span> <span style="color: #161118">though
aggregate amounts ultimately sought may exceed product liability accruals and applicable insurance coverage. For product liability claims
made after July 10, 2000</span><span style="color: #2F262F">, </span><span style="color: #161118">coverage is provided on an annual basis
for losses exceeding $5 million per claim</span><span style="color: #2F262F">,</span> <span style="color: #161118">or an aggregate maximum
loss of $10 million annually</span><span style="color: #2F262F">,</span> <span style="color: #161118">except for certain new claims which
might be brought by governments or municipalities after July 10</span><span style="color: #2F262F">,</span> <span style="color: #161118">2000</span><span style="color: #2F262F">,</span>
<span style="color: #161118">which are excluded from coverage.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="color: #161118">The Company management
monitors the status of known claims and the product liability accrual</span><span style="color: #2F262F">,</span> <span style="color: #161118">which
includes amounts for asserted and unasserted claims. While it is not possible to forecast the outcome of litigation or the timing of costs</span><span style="color: #2F262F">,</span>
<span style="color: #161118">in the opinion of management</span><span style="color: #2F262F">,</span> <span style="color: #161118">after
consultation with special and corporate counsel, it is not probable and is unlikely that litigation</span><span style="color: #2F262F">,</span>
<span style="color: #161118">including punitive damage claims</span><span style="color: #2F262F">,</span> <span style="color: #161118">will
have a material adverse effect on the financial position of the Compan</span><span style="color: #2F262F">y,</span> <span style="color: #161118">but
may have a material impact on the Company&#8217;</span><span style="color: #2F262F">s</span> <span style="color: #161118">financial results
for a particular period.</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; color: #161118">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Product liability claim payments are made when
appropriate if, as, and when claimants and the Company reach agreement upon an amount to finally resolve all claims. Legal costs are paid
as the lawsuits and claims develop, the timing of which may vary greatly from case to case. A schedule cannot be determined in advance
with any reliability concerning when payments will be made in any given case.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Provision is made for product liability claims
based upon many factors related to the severity of the alleged injury and potential liability exposure, based upon prior claim experience.
Because the Company's experience in defending these lawsuits and claims is that unfavorable outcomes are typically not probable or estimable,
only in rare cases is an accrual established for such costs.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In most cases, an accrual is established only
for estimated legal defense costs. Product liability accruals are periodically reviewed to reflect then-current estimates of possible
liabilities and expenses incurred to date and reasonably anticipated in the future. Threatened product liability claims are reflected
in the Company's product liability accrual on the same basis as actual claims; <i>i.e.</i>, an accrual is made for reasonably anticipated
possible liability and claims handling expenses on an ongoing basis.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Often, a Complaint does not specify the amount
of damages being sought and a range of reasonably possible losses relating to unfavorable outcomes cannot be made. The dollar amount of
damages claimed at December 31, 2023 and December 31, 2022 was <i>de minimis</i>. The amount claimed at December 31, 2021 was $1.1 million
and is set forth as an indication of possible maximum liability the Company might be required to incur in these cases (regardless of the
likelihood or reasonable probability of any or all of this amount being awarded to claimants) as a result of adverse judgments that are
sustained on appeal.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2023, one (1) traditional product liability
lawsuit was filed against the Company and one (1) was resolved. As of December 31, 2023, the Company was a defendant in seven (7) lawsuits
involving its products, including one (1) traditional product liability lawsuit, four (4) municipal lawsuits and two (2) lawsuits based
upon alleged unfair trade practices. The Company was also a defendant in two (2) negligence lawsuits.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2022, <span style="-sec-ix-hidden: hidden-fact-39">no</span> traditional product liability
lawsuits were filed against the Company and one (1) was resolved. As of December 31, 2022, the Company was a defendant in five (5) lawsuits
involving its products, including one (1) traditional product liability lawsuit and four (4) municipal lawsuits. The Company also was
a defendant in three (3) negligence lawsuits though, as discussed above, that number has since been reduced to two (2) lawsuits with the
consolidation of the <i>Jones</i> and <i>Copeland</i> matters.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2021, one (1) traditional product liability
lawsuit was filed against the Company.&#160; As of December 31, 2021, the Company was a defendant in four (4) lawsuits involving its products,
including two (2) traditional lawsuits and two (2) municipal lawsuits.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">The
Company&#8217;s product liability expense was </span>$1.5 million in 2023, <span style="font-family: Times New Roman, Times, Serif">$1.3
million in 2022, and $1.1 million in 2021. This expense includes the cost of outside legal fees, insurance, and other expenses incurred
in the management and defense of product liability matters.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">A roll-forward of the product liability reserve and detail of product
liability expense for the three years ended December 31, 2023 follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Balance Sheet Roll-forward for Product Liability
Reserve</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b>&#160;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="padding-bottom: 1pt; white-space: nowrap; text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1pt; white-space: nowrap; text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1pt; white-space: nowrap; text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Cash Payments</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="padding-bottom: 1pt; white-space: nowrap; text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"><span style="font-family: Times New Roman, Times, Serif">Balance<br/>
 Beginning<br/>
 of Year (a<b>)</b></span></td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Accrued <br/>
Legal <br/>
Expense<br/>
 (Income)<br/>
 (b)</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Legal Fees<br/>
 (c)</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Settlements<br/>
 (d)</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Balance <br/>
End of <br/>
Year (a)</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 35%; text-align: justify">2021</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">1,126</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">(7</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">(227</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-36">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">892</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">892</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(417</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(167</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-37">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">308</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">308</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(129</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-38">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">679</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Income Statement Detail for Product Liability
Expense</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Accrued <br/>
Legal <br/>
Expense (b)</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Insurance<br/>
 Premium <br/>
Expense <br/>
(e)</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Total <br/>
Product <br/>
Liability <br/>
Expense</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: justify">2021</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(7</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,119</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">1,112</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(417</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,524</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,107</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,226</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,726</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Notes</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in">(a)</td><td style="text-align: justify">The beginning and ending liability balances represent accrued legal fees only. Settlements and administrative
costs are expensed as incurred. Only in rare instances is an accrual established for settlements.</td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in">(b)</td><td style="text-align: justify">The expense accrued in the liability is for legal fees only. In 2022 and 2021, the costs incurred related
to cases that were settled or dismissed were less than the amounts accrued for these cases in prior years.</td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">
<tr style="vertical-align: top"> <td style="text-align: justify; width: 0.5in">(c)</td> <td style="text-align: justify">Legal fees represent payments to outside counsel related to product liability matters.</td></tr>
</table>


<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in">(d)</td><td style="text-align: justify">Settlements represent payments made to plaintiffs or allegedly injured parties in exchange for a full
and complete release of liability.</td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in">(e)</td><td style="text-align: justify">Insurance expense represents the cost of insurance premiums.</td></tr></table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">There were no insurance recoveries during any
of the above years.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LegalMattersAndContingenciesTextBlock">
<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 entire disclosure for legal proceedings, legal contingencies, litigation, regulatory and environmental matters and other contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//450/tableOfContent<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;">us-gaap_LegalMattersAndContingenciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_LossContingencyAbstract">
<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 );">- References</a><div><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;">us-gaap_LossContingencyAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R29.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869364948080">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financial Instruments<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_DerivativeInstrumentDetailAbstract', window );"><strong>Financial Instruments [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_us-gaap_FinancialInstrumentsDisclosureTextBlock', window );">Financial Instruments</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>21.</b></td><td><b>Financial Instruments</b></td></tr></table>

<p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company does not hold or issue financial instruments
for trading or hedging purposes, nor does it hold interest rate, leveraged, or other types of derivative financial instruments. Fair values
of accounts receivable, accounts payable, accrued expenses and income taxes payable reflected in the December 31, 2023 and 2022 balance
sheets approximate carrying values at those dates.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentDetailAbstract">
<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 );">- References</a><div><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;">us-gaap_DerivativeInstrumentDetailAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_FinancialInstrumentsDisclosureTextBlock">
<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 entire disclosure for financial instruments. This disclosure includes, but is not limited to, fair value measurements of short and long term marketable securities, international currencies forward contracts, and auction rate securities. Financial instruments may include hedging and non-hedging currency exchange instruments, derivatives, securitizations and securities available for sale at fair value. Also included are investment results, realized and unrealized gains and losses as well as impairments and risk management disclosures.</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;">us-gaap_FinancialInstrumentsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R30.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869366258000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Events<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_SubsequentEventsAbstract', window );"><strong>Subsequent Events [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_us-gaap_SubsequentEventsTextBlock', window );">Subsequent Events</a></td>
<td class="text"><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>22.</b></td><td style="text-align: justify"><b>Subsequent Events</b></td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On February 16, 2024, the Company&#8217;s Board
of Directors authorized a dividend of 23&#162; per share to shareholders of record on March 15, 2024.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s management has evaluated transactions
occurring subsequent to December 31, 2023 and determined that there were no events or transactions during that period that would have
a material impact on the Company&#8217;s results of operations or financial position.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsAbstract">
<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 );">- References</a><div><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;">us-gaap_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_SubsequentEventsTextBlock">
<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 entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</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/disclosureRef<br> -Topic 855<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//855/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483399/855-10-50-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;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R31.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869364230480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pay vs Performance Disclosure - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jul. 01, 2023</div></th>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Oct. 02, 2022</div></th>
<th class="th"><div>Jul. 02, 2022</div></th>
<th class="th"><div>Apr. 02, 2022</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_ecd_PvpTable', window );"><strong>Pay vs Performance Disclosure</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="nump">$ 10,249<span></span>
</td>
<td class="nump">$ 7,431<span></span>
</td>
<td class="nump">$ 16,185<span></span>
</td>
<td class="nump">$ 14,350<span></span>
</td>
<td class="nump">$ 18,954<span></span>
</td>
<td class="nump">$ 18,389<span></span>
</td>
<td class="nump">$ 20,757<span></span>
</td>
<td class="nump">$ 30,232<span></span>
</td>
<td class="nump">$ 48,215<span></span>
</td>
<td class="nump">$ 88,332<span></span>
</td>
<td class="nump">$ 155,899<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_PvpTable">
<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 );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection v<br> -Paragraph 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;">ecd_PvpTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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_us-gaap_NetIncomeLoss">
<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 portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-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;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R32.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869362330704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Insider Trading Arrangements<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr><th class="th" colspan="2">
<div>Dec. 31, 2023 </div>
<div>shares</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_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_MtrlTermsOfTrdArrTextBlock', window );">Material Terms of Trading Arrangement</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Rule 10b5-1 Trading Plans</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">The adoption or termination
of contracts, instructions or written plans for the purchase and sale of the Company&#8217;s securities by the Company&#8217;s Section
16 officers or directors for the three months ended December 31, 2023, each of which is intended to satisfy the affirmative defense conditions
of Rule 10b5-1(c) under the Exchange Act (&#8220;Rule 10b5-1 Plan&#8221;), were as follows:</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"> <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"> <td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; width: 15%; padding-right: 5.4pt; padding-left: 5.4pt">Name</td> <td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; width: 23%; padding-right: 5.4pt; padding-left: 5.4pt">Title</td> <td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; width: 13%; padding-right: 5.4pt; padding-left: 5.4pt">Action</td> <td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; width: 15%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">Date <br/>
Adopted</td> <td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; width: 17%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">Expiration <br/>
Date</td> <td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; width: 17%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: right">Aggregate # of<br/> Securities to be <br/>
Purchased/Sold</td></tr> <tr style="vertical-align: top; background-color: rgb(204,238,255)"> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt">Christopher J. Killoy (1)</td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt">President and Chief Executive Officer </td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt">Adoption of Rule 10b5-1 Plan</td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">November 7, 2023</td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">May 7, 2024</td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: right">30,000</td></tr> <tr style="vertical-align: top; background-color: White"> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt">John A. Cosentino, Jr. (2)</td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt">Director</td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt">Adoption of Rule 10b5-1 Plan</td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">November 7, 2023</td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">November 7, 2024</td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: right">3,000</td></tr> </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"></td><td style="width: 0.25in"><span style="font-family: Times New Roman, Times, Serif">(1)</span></td><td>Christopher J. Killoy, an officer of the Company, entered into a Rule 10b5-1 Plan on November 7, 2023. Mr. Killoy&#8217;s Rule 10b5-1
Plan provides for the potential sale of up to 30,000 shares of the Company&#8217;s common stock. The Rule 10b5-1 Plan expires on May 7,
2024, or upon the earlier completion of all authorized transactions under such Rule 10b5-1 Plan.</td></tr></table><p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&#160;</p><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"></td><td style="width: 0.25in"><span style="font-family: Times New Roman, Times, Serif">(2)</span></td><td>John A. Cosentino, Jr., a director of the Company, entered into a Rule 10b5-1 Plan on November 7, 2023. Mr. Cosentino&#8217;s Rule
10b5-1 Plan provides for the potential sale of up to 3,000 shares of the Company&#8217;s common stock. The Rule 10b5-1 Plan expires on
November 7, 2024, or upon the earlier completion of all authorized transactions under such Rule 10b5-1 Plan.</td></tr></table><p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.25in">None of the Company&#8217;s directors or Section 16 officers
adopted or terminated a &#8220;non-Rule 10b5-1 trading arrangement&#8221; as defined in Item 408 of Regulation S-K during the three months
ended December 31, 2023.</p><span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrAdoptedFlag', window );">Non-Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrTrmntdFlag', window );">Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrTrmntdFlag', window );">Non-Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_IndividualAxis=rgr_ChristopherJKilloyMember', window );">Christopher J. Killoy [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></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_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrIndName', window );">Name</a></td>
<td class="text">Christopher J. Killoy<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrIndTitle', window );">Title</a></td>
<td class="text">President and Chief Executive Officer<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrAdoptionDate', window );">Adoption Date</a></td>
<td class="text">November 7, 2023<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrSecuritiesAggAvailAmt', window );">Aggregate Available</a></td>
<td class="nump">30,000<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_IndividualAxis=rgr_JophnACosentinoJrMember', window );">Jophn A. Cosentino, Jr. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></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_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrIndName', window );">Name</a></td>
<td class="text">John A. Cosentino, Jr.<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[2]</sup></td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrIndTitle', window );">Title</a></td>
<td class="text">Director<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[2]</sup></td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrAdoptionDate', window );">Adoption Date</a></td>
<td class="text">November 7, 2023<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[2]</sup></td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrSecuritiesAggAvailAmt', window );">Aggregate Available</a></td>
<td class="nump">3,000<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[2]</sup></td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">Christopher J. Killoy, an officer of the Company, entered into a Rule 10b5-1 Plan on November 7, 2023. Mr. Killoy&#8217;s Rule 10b5-1
Plan provides for the potential sale of up to 30,000 shares of the Company&#8217;s common stock. The Rule 10b5-1 Plan expires on May 7,
2024, or upon the earlier completion of all authorized transactions under such Rule 10b5-1 Plan.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top">John A. Cosentino, Jr., a director of the Company, entered into a Rule 10b5-1 Plan on November 7, 2023. Mr. Cosentino&#8217;s Rule
10b5-1 Plan provides for the potential sale of up to 3,000 shares of the Company&#8217;s common stock. The Rule 10b5-1 Plan expires on
November 7, 2024, or upon the earlier completion of all authorized transactions under such Rule 10b5-1 Plan.</td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_MtrlTermsOfTrdArrTextBlock">
<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 );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 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;">ecd_MtrlTermsOfTrdArrTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_ecd_NonRule10b51ArrAdoptedFlag">
<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 );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 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;">ecd_NonRule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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_ecd_NonRule10b51ArrTrmntdFlag">
<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 );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 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;">ecd_NonRule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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_ecd_Rule10b51ArrAdoptedFlag">
<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 );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 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;">ecd_Rule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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_ecd_Rule10b51ArrTrmntdFlag">
<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 );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 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;">ecd_Rule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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_ecd_TradingArrByIndTable">
<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 );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<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;">ecd_TradingArrByIndTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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_ecd_TrdArrAdoptionDate">
<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 );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph 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;">ecd_TrdArrAdoptionDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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_ecd_TrdArrIndName">
<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 );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<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;">ecd_TrdArrIndName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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_ecd_TrdArrIndTitle">
<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 );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<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;">ecd_TrdArrIndTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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_ecd_TrdArrSecuritiesAggAvailAmt">
<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 );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph D<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;">ecd_TrdArrSecuritiesAggAvailAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_IndividualAxis=rgr_ChristopherJKilloyMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_IndividualAxis=rgr_ChristopherJKilloyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_IndividualAxis=rgr_JophnACosentinoJrMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_IndividualAxis=rgr_JophnACosentinoJrMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R33.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869361046768">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounting Policies, by Policy (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_AccountingPoliciesAbstract', window );"><strong>Summary of Significant Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_OrganizationPolicyTextBlock', window );">Organization</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Organization</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Sturm, Ruger &amp; Company, Inc. (the &#8220;Company&#8221;)
is principally engaged in the design, manufacture, and sale of firearms to domestic customers. Approximately 99% of sales were from firearms.
Export sales represented approximately 6% of firearms sales. The Company&#8217;s design and manufacturing operations are located in the
United States and almost all product content is domestic. The Company&#8217;s firearms are sold through a select number of independent
wholesale distributors principally to the commercial sporting market.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company manufactures investment castings made
from steel alloys and metal injection molding (&#8220;MIM&#8221;) parts for internal use in its firearms and utilizes available capacity
to manufacture and sell investment castings and MIM parts to unaffiliated, third-party customers. Castings were less than 1% of the Company&#8217;s
total sales for the year ended December 31, 2023.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_PreparationOfFinancialStatementsPolicyTextBlock', window );">Preparation of Financial Statements</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Preparation
of Financial Statements</span></span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company follows United States generally accepted
accounting principles (&#8220;GAAP&#8221;). The preparation of financial statements in conformity with GAAP requires management to make
estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent liabilities at the date
of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ
from these estimates.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The significant accounting policies described
below, together with the notes that follow, are an integral part of the consolidated financial statements.</p><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_us-gaap_ConsolidationPolicyTextBlock', window );">Principles of Consolidation</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Principles
of Consolidation</span></span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The consolidated financial statements include
the accounts of the Company and its wholly owned subsidiary. All significant intercompany accounts and transactions have been eliminated.</p><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_us-gaap_RevenueRecognitionPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Revenue Recognition</span></span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company recognizes revenue in accordance
with the provisions of Accounting Standards Codification Topic 606, Revenue from Contracts with Customers (&#8220;ASC 606&#8221;), which
became effective January 1, 2018. Substantially all product sales are sold FOB (free on board) shipping point. Customary payment terms
are 2% 30 days, net 40 days. Generally, all performance obligations are satisfied when product is shipped and the customer takes ownership
and assumes the risk of loss. In some instances, sales include multiple performance obligations. The most common of these instances relates
to sales promotion programs under which downstream customers are entitled to receive no charge products based on their purchases of certain
of the Company&#8217;s products from the independent distributors. The fulfillment of these no charge products is the Company&#8217;s
responsibility. In such instances, the Company allocates the revenue of the promotional sales based on the estimated level of participation
in the sales promotional program and the timing of the shipment of all of the firearms included in the promotional program, including
the no charge firearms. Revenue is recognized proportionally as each performance obligation is satisfied, based on the relative customary
price of each product. Customary prices are generally determined based on the prices charged to the independent distributors. The net
change in contract liabilities for a given period is reported as an increase or decrease to sales. The Company accounts for cash sales
discounts as a reduction in sales. Amounts billed to customers for shipping and handling fees are included in net sales and costs incurred
by the Company for the delivery of goods are classified as selling expenses. Federal excise taxes are excluded from net sales.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><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_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and Cash Equivalents</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Cash and
Cash Equivalents</span></span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company considers interest-bearing deposits
with financial institutions with remaining maturities of three months or less at the time of acquisition to be cash equivalents.</p><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_us-gaap_FairValueMeasurementPolicyPolicyTextBlock', window );">Fair Value Measurements of Short-term Investments</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Fair Value
Measurements of Short-term Investments</span></span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Fair value is defined as the price that would
be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants in the principal or
most advantageous market at the measurement date. Fair value is established according to a hierarchy that prioritizes observable and unobservable
inputs used to measure fair value into three broad levels, which are described below:</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">Level 1: Unadjusted quoted prices in
active markets that are accessible at the measurement date for assets or liabilities. The fair value hierarchy gives the highest priority
to Level 1 inputs.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">Level 2: Observable prices that are
based on inputs not quoted on active markets, but corroborated by market data.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">Level 3: Unobservable inputs are used
when little or no market data is available. Level 3 inputs are given the lowest priority in the fair value hierarchy.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The asset or liability&#8217;s fair value measurement
level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. Valuation
techniques used need to maximize the use of observable inputs and minimize the use of unobservable inputs.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">As
of December 31, 2023, the Company&#8217;s short-term investments consist of U.S. Treasury instruments (Level 1), maturing within one year,
and </span>investments in a bank-managed money market fund that invests exclusively in United States Treasury obligations and is valued
at the net asset value ("NAV") daily closing price, as reported by the fund, based on the amortized cost of the fund&#8217;s
securities (Level 2)<span style="font-family: Times New Roman, Times, Serif">. For the bank-managed money market fund, t</span>he NAV
is used as a practical expedient to estimate fair value. This practical expedient is not used when it is determined to be probable that
the fund will sell the investment for an amount different than the reported NAV<span style="font-family: Times New Roman, Times, Serif">.
Such securities are classified as held to maturity, since the Company has the intent and ability to do so, and are carried at cost plus
accrued interest, which approximates fair value.</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The fair value of inventory acquired as part of
business combination is based on a third-party valuation utilizing the comparable sales method which is based on Level 2 and Level 3 inputs.
The fair value of property, plant and equipment acquired as part of business combination is based on a third-party valuation utilizing
the indirect method of cost approach, which is based on Level 2 and Level 3 inputs. The fair value of patents acquired as part of business
combination is based on a third-party valuation utilizing the replacement cost method, which is based on Level 2 and Level 3 inputs. The
fair value of the remaining intangible assets as part of business combination are based on a third-party valuation utilizing discounted
cash flow methods that involves inputs, which are not observable in the market (Level 3).</p><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_us-gaap_TradeAndOtherAccountsReceivablePolicy', window );">Accounts Receivable [Policy Text Block]</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Accounts Receivable</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company establishes an allowance for doubtful
accounts based on the creditworthiness of its customers and historical experience. While the Company uses the best information available
to make its evaluation, future adjustments to the allowance for doubtful accounts may be necessary if there are significant changes in
economic and industry conditions or any other factors considered in the Company&#8217;s evaluation. Bad debt expense has been immaterial
during each of the last three years. The Company mitigates its credit risk by maintaining credit insurance on most of its significant
customers.</p><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_us-gaap_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Inventories</span></span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Substantially all of the Company&#8217;s inventories
are valued at the lower of cost, principally determined by the last-in, first-out (LIFO) method, or net realizable value. Elements of
cost in inventories include raw materials, direct labor and manufacturing overhead.</p><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_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property, Plant, and Equipment</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Property,
Plant and Equipment</span></span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Property, plant and equipment are carried at
cost. Depreciation is computed over useful lives using the straight-line and declining balance methods predominately over 15 years for
buildings, 7 years for machinery and equipment and 3 years for tools and dies. When assets are retired, sold or otherwise disposed of,
their gross carrying values and related accumulated depreciation are removed from the accounts and a gain or loss on such disposals is
recognized when appropriate.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Maintenance and repairs are charged to operations;
replacements and improvements are capitalized.</p><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_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Long-lived Assets</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Long-lived Assets</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company evaluates the carrying value of long-lived
assets to be held and used when events or changes in circumstances indicate the carrying value may not be recoverable. In performing this
review, the carrying value of the assets is compared to the projected undiscounted cash flows to be generated from the assets. If the
sum of the undiscounted expected future cash flows is less than the carrying value of the assets, the assets are considered to be impaired.
Impairment losses are measured as the amount by which the carrying value of the assets exceeds their fair value. The Company bases fair
value of the assets on quoted market prices if available or, if not available, </p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">quoted market prices of similar assets. Where quoted market
prices are not available, the Company estimates fair value using the estimated future cash flows generated by the assets discounted at
a rate commensurate with the risks associated with the recovery of the assets. As of December 31, 2023, the Company does not believe there
are any indications of impairment related to long-lived assets.</p><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_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy', window );">Goodwill</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; color: #252525"><span style="text-decoration:underline">Goodwill</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="color: #252525">The Company&#8217;s
goodwill represents the excess of the purchase price of business combinations over the fair value of the net assets acquired. We assess
goodwill for impairment on an annual basis during the fourth quarter of each year, and between annual tests whenever events or changes
in circumstances indicate that the carrying amount may not be recoverable. An impairment exists by the amount the fair value of a reporting
unit to which goodwill has been allocated is less than their respective carrying values. The impairment for goodwill is limited to the
total amount of goodwill allocated to the reporting unit. Goodwill impairment testing requires significant judgment and management estimates,
including, but not limited to, the determination of (i)&#160;the number of reporting units, (ii)&#160;the goodwill and other assets and
liabilities to be allocated to the reporting units and (iii)&#160;the fair values of the reporting units. The estimates and assumptions
described above, along with other factors such as discount rates, will significantly affect the outcome of the impairment tests and the
amounts of any resulting impairment losses.</span> As of December 31, 2023, the Company does not believe there are any indications of
impairment related to goodwill.</p><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_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Income Taxes</span></span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Income taxes are accounted for using the asset
and liability method. Under this method, deferred income taxes are recognized for the tax consequences of &#8220;temporary differences&#8221;
by applying enacted statutory rates applicable to future years to temporary differences between the financial statement carrying amounts
and the tax basis of the Company&#8217;s assets and liabilities.</p><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_us-gaap_LiabilityReserveEstimatePolicy', window );">Product Liability</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Product Liability</span></span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company provides for product liability claims
including estimated legal costs to be incurred defending such claims. The provision for product liability claims is charged to cost of
products sold.</p><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_us-gaap_AdvertisingCostsPolicyTextBlock', window );">Advertising Costs</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Advertising Costs</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company includes advertising costs in selling
expenses and these costs are expensed as incurred. Advertising costs for 2023, 2022, and 2021, were $3.1 million, $2.4 million, and $2.6
million, respectively.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_ShippingCostPolicyPolicyTextBlock', window );">Shipping Costs</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Shipping
Costs</span></span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Costs incurred related to the shipment of products
are included in selling expense. Such costs totaled $4.4 million, $4.7 million, and $4.2 million in 2023, 2022, and 2021, respectively.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><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_us-gaap_ResearchAndDevelopmentExpensePolicy', window );">Research and Development</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Research and Development</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2023, 2022, and 2021, the Company spent approximately
$9.8 million, $9.6 million, and $11.7 million, respectively, on research and development activities relating to new products and the improvement
of existing products. These costs are included in costs of products sold and are expensed as incurred. These costs are capitalized for
tax purposes under the provisions of the Tax Cuts and Jobs Act of 2017 that relate to IRS Code Section 174, as discussed in Note 13.</p><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_us-gaap_EarningsPerSharePolicyTextBlock', window );">Earnings per Share</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Earnings per Share</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Basic earnings per share is based upon the weighted-average
number of shares of common stock outstanding during the year. Diluted earnings per share reflect the impact of options, restricted stock
units, and deferred stock outstanding using the treasury stock method.</p><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_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent Accounting Pronouncements</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Recent Accounting Pronouncements</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In November of 2023, the FASB issued ASU 2023-07,
&#8220;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures.&#8221; The updated accounting guidance requires
enhanced reportable segment disclosures, primarily related to significant segment expenses which are regularly provided to the chief operating
decision maker. The guidance is effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning
after December 15, 2024. Retrospective application is required and early adoption is permitted. The Company is currently evaluating the
effect the updated guidance will have on its financial statement disclosures.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In December of 2023, the FASB issued ASU 2023-09,
&#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures.&#8221; The updated accounting guidance requires expanded income
tax disclosures, including the disaggregation of existing disclosures related to the effective tax rate reconciliation and income taxes
paid. The guidance is effective for fiscal years beginning after December 15, 2024. Prospective application is required, with retrospective
application permitted. The Company is currently evaluating the effect the updated guidance will have on its financial statement disclosures.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_OrganizationPolicyTextBlock">
<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>Disclosure of accounting policy for organization.</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;">rgr_OrganizationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr:textBlockItemType</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_rgr_PreparationOfFinancialStatementsPolicyTextBlock">
<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>Disclosure of accounting policy for the preparation of financial statements.</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;">rgr_PreparationOfFinancialStatementsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr:textBlockItemType</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_rgr_ShippingCostPolicyPolicyTextBlock">
<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>Disclosure of accounting policy for the classification of shipping and handling costs, including whether the costs are included in cost of sales or included in other income statement accounts. If shipping and handling fees are significant and are not included in cost of sales, disclosure includes both the amounts of such costs and the line item on the income statement which includes such costs.</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;">rgr_ShippingCostPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr:textBlockItemType</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_us-gaap_AccountingPoliciesAbstract">
<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 );">- References</a><div><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;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_AdvertisingCostsPolicyTextBlock">
<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>Disclosure of accounting policy for advertising cost.</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/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 35<br> -Topic 720<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483406/720-35-50-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;">us-gaap_AdvertisingCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_CashAndCashEquivalentsPolicyTextBlock">
<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>Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-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;">us-gaap_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_ConsolidationPolicyTextBlock">
<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>Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</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/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-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;">us-gaap_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_EarningsPerSharePolicyTextBlock">
<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>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-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;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_FairValueMeasurementPolicyPolicyTextBlock">
<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>Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities.</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;">us-gaap_FairValueMeasurementPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy">
<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>Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined.</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/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//350-20/tableOfContent<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;">us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock">
<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>Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480091/360-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 4<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482338/360-10-05-4<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;">us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_IncomeTaxPolicyTextBlock">
<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>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</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/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-25<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-28<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-19<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-20<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;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_InventoryPolicyTextBlock">
<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>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</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/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482105/912-330-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//330/tableOfContent<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482989/270-10-45-6<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;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_LiabilityReserveEstimatePolicy">
<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>Disclosure of accounting policy for estimating its liability as of the balance sheet date for the ultimate cost of settling reported and unreported claims incurred and claims adjustment expenses (including effects of inflation and other societal and economic factors).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//944-40/tableOfContent<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;">us-gaap_LiabilityReserveEstimatePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<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>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</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;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<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>Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-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;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_ResearchAndDevelopmentExpensePolicy">
<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>Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.</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/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483044/730-10-05-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;">us-gaap_ResearchAndDevelopmentExpensePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_RevenueRecognitionPolicyTextBlock">
<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>Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.</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/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<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;">us-gaap_RevenueRecognitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_TradeAndOtherAccountsReceivablePolicy">
<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>Disclosure of accounting policy for accounts receivable.</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/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481569/310-20-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-11B<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-6<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-15<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;">us-gaap_TradeAndOtherAccountsReceivablePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R34.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869363898496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition and Contracts with Customers (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue Recognition and Contracts with Customers [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_RevenueRecognitionMultipledeliverableArrangementsTableTextBlock', window );">Schedule of Revenue Recognized</a></td>
<td class="text">The impact of ASC 60<span style="font-family: Times New Roman, Times, Serif">6
on revenue recognized during the years ended December 31, 2023, December 31, 2022, and</span> December 31, 2021 is as follows:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="color: Black; font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">&#160;</td><td style="color: Black; font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="color: Black; font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="color: Black; font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2021</td><td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left; text-indent: -0.3in; padding-left: 0.3in">Contract liabilities with customers at January 1,</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">1,031</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-17">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">84</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.3in; padding-left: 0.3in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Revenue recognized</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(4,084</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-18">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(84</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 0.3in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Revenue deferred</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,202</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,031</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-19">&#8212;</div></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.3in; padding-left: 0.3in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -0.3in; padding-left: 0.3in">Contract liabilities with customers at December 31,</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">149</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">1,031</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-20">&#8212;</div></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_RevenueRecognitionMultipledeliverableArrangementsTableTextBlock">
<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>Tabular disclosure of the recognition of revenue arrangements under which the entity does or will perform multiple revenue-generating activities, categorized by type of arrangement. This item includes certain revenue arrangements that include software elements. This item does not include multiple-deliverable arrangements for industries that prepare disclosures under specific requirements (for instance, construction-type and production-type contracts) otherwise provided for in the taxonomy.</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;">rgr_RevenueRecognitionMultipledeliverableArrangementsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr:textBlockItemType</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_us-gaap_RevenueFromContractWithCustomerAbstract">
<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 );">- References</a><div><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;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R35.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869368807168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Trade Receivables, Net (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_rgr_TradeReceivablesNetTablesLineItems', window );"><strong>Trade Receivables, Net [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_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock', window );">Schedule of trade receivables</a></td>
<td class="text">Trade receivables consist of the following:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Trade receivables</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">61,428</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">67,183</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Allowance for doubtful accounts</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(400</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(400</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Allowance for discounts</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,164</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,334</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">59,864</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">65,449</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_TradeReceivablesNetTablesLineItems">
<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 );">- References</a><div><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;">rgr_TradeReceivablesNetTablesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock">
<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>Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.3,4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R36.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869368602672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventories [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_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Schedule of Inventories</a></td>
<td class="text">Inventories consist of the following:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: normal; text-align: justify">Inventory at FIFO</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 74%; text-align: left; padding-left: 21.8pt">Finished goods</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">30,989</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">23,573</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid; padding-left: 21.8pt">Materials and products in process</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">119,203</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">105,721</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">150,192</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">129,294</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 21.8pt">Less:&#160;&#160;LIFO reserve</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(64,262</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(59,489</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid; padding-left: 21.8pt">Less:&#160;&#160;excess and obsolescence reserve</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(6,120</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(4,812</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Net inventories</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">79,810</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">64,993</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<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 );">- References</a><div><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;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<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>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-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;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R37.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869368610832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property, Plant and Equipment (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_rgr_PropertyPlantandEquipmentTablesLineItems', window );"><strong>Property, Plant and Equipment [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_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Schedule of Property, Plant and Equipment</a></td>
<td class="text">Property, plant and equipment consist of the following:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Land and improvements</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">2,826</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">2,826</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Buildings and improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">74,650</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">72,788</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Machinery and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">322,730</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">314,032</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Dies and tools</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">62,191</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">57,480</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Property, plant and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">462,397</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">447,126</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Less allowances for depreciation</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(390,863</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(370,273</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Net property, plant and equipment</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">71,534</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">76,853</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_PropertyPlantandEquipmentTablesLineItems">
<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 );">- References</a><div><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;">rgr_PropertyPlantandEquipmentTablesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_PropertyPlantAndEquipmentTextBlock">
<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>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-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;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R38.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869364289296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Other Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_OtherAssetsAbstract', window );"><strong>Other Assets [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_us-gaap_ScheduleOfOtherAssetsTableTextBlock', window );">Schedule of Other Assets</a></td>
<td class="text">Other assets consist of the following:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Patents, at cost</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">10,280</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">10,126</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 14.8pt">Accumulated amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(7,171</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(6,318</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deposits on capital items</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">23,045</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17,106</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Marlin trade name</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,800</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">9,958</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">11,249</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">43,912</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">39,963</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsAbstract">
<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 );">- References</a><div><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;">us-gaap_OtherAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_ScheduleOfOtherAssetsTableTextBlock">
<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>Tabular disclosure of the carrying amounts of other assets. This disclosure includes other current assets and other noncurrent assets.</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;">us-gaap_ScheduleOfOtherAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R39.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869368426608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leased Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_rgr_LeasedAssetsTablesLineItems', window );"><strong>Leased Assets [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_ScheduleOfFutureMinimumLeasePaymentsTableTextBlock', window );">Schedule of Right-of-Use Assets and Related Lease Liabilities</a></td>
<td class="text">The table below presents
the right-of-use assets and related lease liabilities recognized on the condensed consolidated balance sheet as of December 31, 2023:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Balance Sheet Line <br/>
Item</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">December 31, <br/>
2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">December 31, <br/>
2022</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 49%; text-align: left">Right-of-use assets</td><td style="width: 1%">&#160;</td>
    <td style="width: 20%; text-align: center">Other assets</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">2,781</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">3,681</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="text-align: justify; border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Operating lease liabilities</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; vertical-align: top; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; vertical-align: top; text-align: left">Current portion</td><td>&#160;</td>
    <td style="text-align: center">Trade accounts payable and accrued expenses</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">611</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">642</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 20pt">Noncurrent portion</td><td>&#160;</td>
    <td style="text-align: center; text-indent: 5.3pt">Lease liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,170</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,039</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 18.55pt">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="text-align: right; border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 2.5pt double">Total operating lease liabilities</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="text-align: right; border-bottom: Black 2.5pt double">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,781</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">3,681</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left">&#160;</td></tr>
  </table><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_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of Operating Lease Liabilities</a></td>
<td class="text">The following table reconciles the undiscounted future minimum lease payments to the total operating lease liabilities
recognized on the condensed consolidated balance sheet as of December 31, 2023:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 85%; text-align: left; padding-left: 30.75pt">2024</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">808</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt">2025</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">702</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">705</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">229</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt">2028</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">160</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 30.75pt; vertical-align: bottom">Thereafter</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">960</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt">Total undiscounted future minimum lease payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,564</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left; padding-bottom: 1pt; text-indent: -22.5pt; padding-left: 53.25pt">Less: Difference between undiscounted lease payments &amp; the present value of future lease payments</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(783</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-bottom: 2.5pt; padding-left: 30.75pt">Total operating lease liabilities</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,781</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_LeasedAssetsTablesLineItems">
<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 );">- References</a><div><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;">rgr_LeasedAssetsTablesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_rgr_ScheduleOfFutureMinimumLeasePaymentsTableTextBlock">
<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 );">- References</a><div><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;">rgr_ScheduleOfFutureMinimumLeasePaymentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr:textBlockItemType</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_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<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>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<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;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R40.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869368673424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Trade Accounts Payable and Accrued Expenses (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract', window );"><strong>Trade Accounts Payable and Accrued Expenses [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_us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock', window );">Schedule of Trade Accounts Payable and Accrued Expenses</a></td>
<td class="text">Trade accounts payable and accrued expenses consist
of the following:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; text-align: left">Trade accounts payable</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">11,100</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">13,281</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Federal excise taxes payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,954</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">13,635</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Accrued other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">8,654</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">8,742</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">31,708</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">35,658</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract">
<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 );">- References</a><div><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;">us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock">
<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>Tabular disclosure of the (a) carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business (accounts payable); (b) other payables; and (c) accrued liabilities. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer). An alternative caption includes accrued expenses.</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;">us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R41.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869368604240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Other Operating Income, Net (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_rgr_OtherOperatingIncomeNetTablesLineItems', window );"><strong>Other Operating Income, Net [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_OtherIncomeAndExpensesTableTextBlock', window );">Schedule of Other Operating Income, Net</a></td>
<td class="text">Other operating income, net consists of the following:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">Year ended December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2021</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 55%">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Gain on sale of operating assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">5</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">36</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">127</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_OtherIncomeAndExpensesTableTextBlock">
<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 entire disclosure for the schedule of other income and expenses.</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;">rgr_OtherIncomeAndExpensesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr:textBlockItemType</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_rgr_OtherOperatingIncomeNetTablesLineItems">
<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 );">- References</a><div><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;">rgr_OtherOperatingIncomeNetTablesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R42.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869368618944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Taxes [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_us-gaap_FederalIncomeTaxNoteTextBlock', window );">Schedule of Federal and State Income Tax Provision</a></td>
<td class="text">The federal and state income tax provision consisted of the following:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">Year ended December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="6" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="6" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="6" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2021</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Current</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Deferred</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Current</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Deferred</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Current</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">Deferred</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 34%">Federal</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 8%; text-align: right">14,763</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 8%; text-align: right">(5,285</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 8%; text-align: right">21,741</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 8%; text-align: right">(4,694</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 8%; text-align: right">42,422</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 8%; text-align: right">863</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">State</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,713</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(582</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,779</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(879</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">7,279</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">131</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">16,476</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">(5,867</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">25,520</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">(5,573</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">49,701</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">994</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><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_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of Effective Income Tax Rate Reconciliation</a></td>
<td class="text">The effective income tax rate varied from the statutory federal income
tax rate as follows:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">Year ended December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2021</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left; text-indent: -13.75pt; padding-left: 13.75pt">Statutory federal income tax rate</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">21.0%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">21.0%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">21.0%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -13.75pt; padding-left: 13.75pt">State income taxes, net of federal tax benefit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2.2</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2.7</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3.4</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Research and development tax credits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(2.7</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(4.2</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(0.4</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-indent: -13.75pt; padding-left: 13.75pt">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(2.5</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1.1</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">0.5</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -13.75pt; padding-left: 13.75pt">Effective income tax rate</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">18.0%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">18.4%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">24.5%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><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_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of Deferred Tax Assets and Liabilities</a></td>
<td class="text">Significant components of the Company&#8217;s
deferred tax assets and liabilities are as follows:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Deferred tax assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left; padding-left: 22.5pt">Capitalized research and development costs</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">9,144</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">4,838</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 22.5pt">Employee compensation and benefits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,452</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,316</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 22.5pt">Allowances for doubtful accounts and discounts</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">431</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">637</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 22.5pt">Inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,635</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,196</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 22.5pt">Stock-based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,698</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,661</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 22.5pt">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,608</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,705</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Total deferred tax assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">16,968</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">12,353</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Deferred tax liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -4.5pt; padding-left: 27pt">Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,578</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,070</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-indent: -4.5pt; padding-left: 27pt">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,414</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,174</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Total deferred tax liabilities</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">4,992</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">6,244</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Net deferred tax assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">11,976</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">6,109</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FederalIncomeTaxNoteTextBlock">
<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>Tabular disclosure of the federal tax basis of investment holdings. This item captures the aggregate cost of securities, aggregate gross unrealized appreciation for all securities in which there is an excess of value over tax cost, aggregate gross unrealized depreciation for all securities in which there is an excess of tax cost over value, net unrealized appreciation (depreciation), and an explanation of the differences between tax and book.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<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;">us-gaap_FederalIncomeTaxNoteTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_IncomeTaxDisclosureAbstract">
<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 );">- References</a><div><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;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<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>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-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;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<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>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 12<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-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;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R43.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869368689424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings Per Share (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [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_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of a Reconciliation of the Numerator and Denominator for the Basic and Diluted Earnings Per Share</a></td>
<td class="text">Set forth below is a reconciliation of the numerator
and denominator for the basic and diluted earnings per share calculations for the periods indicated:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">Year ended December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2021</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Numerator:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 61%; text-align: left; text-indent: 17.9pt; padding-left: 0.1pt">Net income</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">48,215</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">88,332</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">155,899</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Denominator:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -9pt; padding-left: 27pt">Weighted average number of common shares outstanding &#8211; Basic</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17,676,955</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17,648,850</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17,585,604</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -9pt; padding-left: 27pt">Dilutive effect of options and restricted stock units outstanding under the Company&#8217;s employee compensation plans</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">134,263</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">144,498</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">172,230</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-indent: -27pt; padding-left: 27pt">Weighted average number of common shares outstanding &#8211; Diluted</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">17,811,218</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">17,793,348</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">17,757,834</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<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 );">- References</a><div><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;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<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>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-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;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R44.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869368646320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Repurchases (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract', window );"><strong>Stock Repurchases [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_us-gaap_ScheduleOfTreasuryStockByClassTextBlock', window );">Schedule of Repurchased Shares of its Common Stock</a></td>
<td class="text">In 2023 and 2022 the Company repurchased shares
of its common stock. Details of these purchases are as follows:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">Period</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Total <br/>
Number of <br/>
Shares<br/>
 Purchased</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Average<br/>
 Price Paid <br/>
per Share</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Total Number<br/>
 of Shares <br/>
Purchased as <br/>
Part of <br/>
Publicly<br/>
 Announced <br/>
Program</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Maximum <br/>
Dollar Value<br/>
 of Shares that<br/>
 May Yet Be<br/>
 Purchased <br/>
Under the<br/>
 Program</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -1.05pt; padding-left: 0pt">Third Quarter 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">July 3 to July 30</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-21">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-22">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-23">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">July 31 to August 27</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-24">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-25">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-26">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; width: 48%; padding-left: 10pt">August 28 to October 1</td><td style="width: 1%; border-bottom: Black 1pt solid">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">2,136</td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 1%; border-bottom: Black 1pt solid">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">49.97</td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 1%; border-bottom: Black 1pt solid">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">2,136</td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 1%; border-bottom: Black 1pt solid">&#160;</td>
    <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="width: 10%; border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Fourth Quarter 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">October 2 to October 29</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-27">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-28">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-29">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">October 30 to November 26</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,304</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">49.77</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,304</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 10pt">November 27 to December 31</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-30">&#8212;</div></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-31">&#8212;</div></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-32">&#8212;</div></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Fourth Quarter 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">October 1 to October 28</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-33">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-34">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-35">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">October 29 to November 25</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">179,341</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">45.20</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">179,341</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 10pt">November 26 to December 31</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">84,721</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">43.67</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">84,721</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 0pt">Total</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">268,502</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">44.79</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">268,502</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">74,680,000</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfTreasuryStockByClassTextBlock">
<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>Tabular disclosure of treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481520/505-30-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481520/505-30-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481520/505-30-50-4<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-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;">us-gaap_ScheduleOfTreasuryStockByClassTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract">
<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 );">- References</a><div><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;">us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R45.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869368604240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Segment Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_SegmentReportingAbstract', window );"><strong>Operating Segment Information [Abstarct]</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_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock', window );">Schedule of Operating Segment Financial Information</a></td>
<td class="text">The Company evaluates performance and allocates
resources, in part, based on income (loss) before taxes. The accounting policies of the reportable segments are the same as those described
in the summary of significant accounting policies (see Note 1). Intersegment sales are recorded at the Company&#8217;s cost plus a fixed
profit percentage.<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">Year ended December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2021</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: normal; text-align: left">Net Sales</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 61%">Firearms</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">540,746</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">593,289</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">728,141</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Castings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt">Unaffiliated</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,021</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,553</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,595</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 20pt">Intersegment</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">33,086</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">21,306</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">24,711</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">36,107</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">23,859</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">27,306</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Eliminations</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(33,086</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(21,306</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(24,711</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">543,767</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">595,842</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">730,736</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Income (Loss) Before Income Taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">53,723</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">108,610</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">207,657</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Castings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(798</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(3,338</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(2,732</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Corporate</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">5,899</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,007</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,669</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">58,824</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">108,279</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">206,594</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Identifiable Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">228,699</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">223,301</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">188,290</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Castings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,144</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,910</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">13,889</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Corporate</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">158,974</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">249,552</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">240,164</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">398,817</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">484,763</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">442,343</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Goodwill</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3,055</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3,055</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3,055</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">209</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">209</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">209</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">3,264</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">3,264</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">3,264</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">19,301</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">21,992</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">22,842</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,814</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2,452</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2,959</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">21,115</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">24,444</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">25,801</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Capital Expenditures</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">15,395</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">26,598</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">25,239</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">401</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,175</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,537</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">15,796</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">27,773</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">28,776</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock">
<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>Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-25<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<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;">us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_SegmentReportingAbstract">
<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 );">- References</a><div><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;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R46.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869368563776">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Quarterly Results of Operations (Unaudited) (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_QuarterlyFinancialInformationDisclosureAbstract', window );"><strong>Quarterly Results of Operations (Unaudited) [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_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock', window );">Schedule of Quarterly Financial Information</a></td>
<td class="text">The following is a tabulation of the unaudited
quarterly results of operations for the two years ended December 31, 2023:<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Three Months Ended</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">4/1/23</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">7/1/23</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">9/30/23</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">12/31/23</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; font-weight: normal; text-align: left; text-indent: 0.5pt">Net Sales</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">149,453</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">142,804</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">120,893</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">130,617</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 0.5pt">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">38,486</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">38,148</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">24,728</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">32,257</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: 0.5pt">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">14,350</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">16,185</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,431</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,249</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: 0.5pt">Basic earnings per share</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.81</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.91</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.42</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.58</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-indent: 0.5pt">Diluted earnings per share</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.81</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.91</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.42</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.58</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Three Months Ended</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">4/2/22</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">7/2/22</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">10/1/22</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">12/31/22</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; font-weight: normal; text-align: left">Net Sales</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">166,575</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">140,653</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">139,390</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">149,224</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">58,108</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">43,554</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">38,869</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">39,554</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">30,232</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">20,757</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">18,389</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">18,954</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Basic earnings per share</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.72</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.18</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.04</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.07</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">Diluted earnings per share</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">1.70</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">1.17</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">1.03</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">1.06</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_QuarterlyFinancialInformationDisclosureAbstract">
<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 );">- References</a><div><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;">us-gaap_QuarterlyFinancialInformationDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock">
<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>Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data.</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/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482964/270-10-50-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;">us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R47.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869364285824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Contingent Liabilities (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</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_us-gaap_LossContingencyAbstract', window );"><strong>Contingent Liabilities [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_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock', window );">Schedule of Roll-Forward for Product Liability Reserve</a></td>
<td class="text">Balance Sheet Roll-forward for Product Liability
Reserve<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="padding-bottom: 1pt; white-space: nowrap; text-align: justify">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1pt; white-space: nowrap; text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1pt; white-space: nowrap; text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Cash Payments</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="padding-bottom: 1pt; white-space: nowrap; text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"><span style="font-family: Times New Roman, Times, Serif">Balance<br/>
 Beginning<br/>
 of Year (a<b>)</b></span></td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Accrued <br/>
Legal <br/>
Expense<br/>
 (Income)<br/>
 (b)</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Legal Fees<br/>
 (c)</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Settlements<br/>
 (d)</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Balance <br/>
End of <br/>
Year (a)</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 35%; text-align: justify">2021</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">1,126</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">(7</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">(227</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-36">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">892</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">892</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(417</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(167</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-37">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">308</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">308</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(129</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-38">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">679</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in">(a)</td><td style="text-align: justify">The beginning and ending liability balances represent accrued legal fees only. Settlements and administrative
costs are expensed as incurred. Only in rare instances is an accrual established for settlements.</td></tr></table><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in">(b)</td><td style="text-align: justify">The expense accrued in the liability is for legal fees only. In 2022 and 2021, the costs incurred related
to cases that were settled or dismissed were less than the amounts accrued for these cases in prior years.</td></tr></table><table border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">
<tr style="vertical-align: top"> <td style="text-align: justify; width: 0.5in">(c)</td> <td style="text-align: justify">Legal fees represent payments to outside counsel related to product liability matters.</td></tr>
</table><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in">(d)</td><td style="text-align: justify">Settlements represent payments made to plaintiffs or allegedly injured parties in exchange for a full
and complete release of liability.</td></tr></table><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in">(e)</td><td style="text-align: justify">Insurance expense represents the cost of insurance premiums.</td></tr></table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><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_us-gaap_ProductLiabilityContingenciesTextBlock', window );">Schedule of Product Liability Expense</a></td>
<td class="text">Income Statement Detail for Product Liability
Expense<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Accrued <br/>
Legal <br/>
Expense (b)</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Insurance<br/>
 Premium <br/>
Expense <br/>
(e)</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Total <br/>
Product <br/>
Liability <br/>
Expense</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: justify">2021</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(7</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,119</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">1,112</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(417</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,524</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,107</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,226</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,726</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in">(b)</td><td style="text-align: justify">The expense accrued in the liability is for legal fees only. In 2022 and 2021, the costs incurred related
to cases that were settled or dismissed were less than the amounts accrued for these cases in prior years.</td></tr></table><table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in">(e)</td><td style="text-align: justify">Insurance expense represents the cost of insurance premiums.</td></tr></table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingencyAbstract">
<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 );">- References</a><div><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;">us-gaap_LossContingencyAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_ProductLiabilityContingenciesTextBlock">
<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>Tabular disclosure of exposure to material amount of loss arising from allegations of damages pertaining to and arising from one or more of the entity's products.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-4<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-9<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.Y.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480102/450-20-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.Y.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480102/450-20-S99-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;">us-gaap_ProductLiabilityContingenciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</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_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock">
<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>Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.</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/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<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;">us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R48.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869361208096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_rgr_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_SharebasedCompensationEffectOnEarningsPerShare', window );">Customary payment description</a></td>
<td class="text">Customary payment terms
are 2% 30 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_AdvertisingExpense', window );">Advertising expenses</a></td>
<td class="nump">$ 3.1<span></span>
</td>
<td class="nump">$ 2.4<span></span>
</td>
<td class="nump">$ 2.6<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_ShippingCosts', window );">Shipping costs</a></td>
<td class="nump">4.4<span></span>
</td>
<td class="nump">4.7<span></span>
</td>
<td class="nump">4.2<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_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">$ 9.8<span></span>
</td>
<td class="nump">$ 9.6<span></span>
</td>
<td class="nump">$ 11.7<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesMember', window );">Sales [Member] | Customer Concentration Risk [Member] | Firearms [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_rgr_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of sales</a></td>
<td class="nump">99.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesMember', window );">Sales [Member] | Customer Concentration Risk [Member] | Export Sales [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_rgr_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of sales</a></td>
<td class="nump">6.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesMember', window );">Sales [Member] | Customer Concentration Risk [Member] | Castings Sales [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_rgr_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of sales</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember', window );">Building [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_rgr_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Useful life</a></td>
<td class="text">15 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_rgr_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Useful life</a></td>
<td class="text">7 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ToolsDiesAndMoldsMember', window );">Tools and dies [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_rgr_SummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Summary of Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Useful life</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_ShippingCosts">
<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>Cost incurred during the reporting period in shipping and transporting goods and services to customers.</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;">rgr_ShippingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_rgr_SummaryOfSignificantAccountingPoliciesLineItems">
<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 );">- References</a><div><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;">rgr_SummaryOfSignificantAccountingPoliciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_AdvertisingExpense">
<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>Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.</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/disclosureRef<br> -Topic 720<br> -SubTopic 35<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483406/720-35-50-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;">us-gaap_AdvertisingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_ConcentrationRiskPercentage1">
<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 an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</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/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-20<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;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</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_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<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>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</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;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<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 aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</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/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482916/730-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482517/912-730-25-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481283/985-20-50-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;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_SharebasedCompensationEffectOnEarningsPerShare">
<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>Description of treatment of share-based payment arrangement in earnings per share computation.</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;">us-gaap_SharebasedCompensationEffectOnEarningsPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=rgr_FirearmsMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=rgr_FirearmsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=rgr_ExportSalesMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=rgr_ExportSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=rgr_CastingsSalesMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=rgr_CastingsSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ToolsDiesAndMoldsMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ToolsDiesAndMoldsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R49.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869365115584">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition and Contracts with Customers (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_rgr_RevenueRecognitionAndContractsWithCustomersLineItems', window );"><strong>Revenue Recognition and Contracts with Customers [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_DeferredRevenueAdditions', window );">Company deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,200<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<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_us-gaap_DeferredRevenueRevenueRecognized1', window );">Recognized deferred revenue</a></td>
<td class="nump">$ 100<span></span>
</td>
<td class="nump">4,084<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 84<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_us-gaap_IncreaseDecreaseInDeferredRevenue', window );">Net increase (decrease) in firearms sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">900<span></span>
</td>
<td class="num">(1,000)<span></span>
</td>
<td class="text">&#160;<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_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred contract revenue liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">149<span></span>
</td>
<td class="nump">$ 1,031<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_OtherDebtSecuritiesMember', window );">Other Debt Obligations [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_rgr_RevenueRecognitionAndContractsWithCustomersLineItems', window );"><strong>Revenue Recognition and Contracts with Customers [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_DeferredRevenueRevenueRecognized1', window );">Recognized deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_RevenueRecognitionAndContractsWithCustomersLineItems">
<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 );">- References</a><div><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;">rgr_RevenueRecognitionAndContractsWithCustomersLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_ContractWithCustomerLiabilityCurrent">
<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>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</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/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-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;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenueAdditions">
<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>Amount of deferred revenue recognized for transactions arising during the current reporting period. Deferred revenue is a liability as of the balance sheet date related to a revenue producing activity for which revenue has not yet been recognized. Generally, an Entity records deferred revenue when it receives consideration from a customer before achieving certain criteria that must be met for revenue to be recognized in conformity with GAAP.</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;">us-gaap_DeferredRevenueAdditions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_DeferredRevenueRevenueRecognized1">
<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>Amount of revenue recognized that was previously reported as deferred or unearned revenue.</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;">us-gaap_DeferredRevenueRevenueRecognized1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_IncreaseDecreaseInDeferredRevenue">
<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>Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.</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/exampleRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<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;">us-gaap_IncreaseDecreaseInDeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_FinancialInstrumentAxis=us-gaap_OtherDebtSecuritiesMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_OtherDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R50.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869364921648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition and Contracts with Customers (Details) - Schedule of Revenue Recognized - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems', window );"><strong>Schedule of Revenue Recognized [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_ContractWithCustomerLiability', window );">Contract liabilities with customers at January 1,</a></td>
<td class="nump">$ 84<span></span>
</td>
<td class="nump">$ 1,031<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 84<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_us-gaap_DeferredRevenueRevenueRecognized1', window );">Revenue recognized</a></td>
<td class="num">$ (100)<span></span>
</td>
<td class="num">(4,084)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(84)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_RevenueDeferred', window );">Revenue deferred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,202<span></span>
</td>
<td class="nump">1,031<span></span>
</td>
<td class="text"> <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_us-gaap_ContractWithCustomerLiability', window );">Contract liabilities with customers at December 31,</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 149<span></span>
</td>
<td class="nump">$ 1,031<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_RevenueDeferred">
<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 amount of revenue deferred during the period.</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;">rgr_RevenueDeferred</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems">
<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 );">- References</a><div><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;">rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_ContractWithCustomerLiability">
<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>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.</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/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-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;">us-gaap_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenueRevenueRecognized1">
<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>Amount of revenue recognized that was previously reported as deferred or unearned revenue.</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;">us-gaap_DeferredRevenueRevenueRecognized1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R51.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869364166032">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Trade Receivables, Net (Details) - Accounts Receivable [Member] - Customer Concentration Risk [Member]<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Customer One [Member]</a></td>
<td class="text">&#160;<span></span>
</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_rgr_TradeReceivablesNetDetailsLineItems', window );"><strong>Trade Receivables, Net (Details) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_ConcentrationRiskPercentage1', window );">Total trade receivables</a></td>
<td class="nump">22.00%<span></span>
</td>
<td class="nump">26.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Customer Two [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_rgr_TradeReceivablesNetDetailsLineItems', window );"><strong>Trade Receivables, Net (Details) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_ConcentrationRiskPercentage1', window );">Total trade receivables</a></td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">23.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Customer Three [Member]</a></td>
<td class="text">&#160;<span></span>
</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_rgr_TradeReceivablesNetDetailsLineItems', window );"><strong>Trade Receivables, Net (Details) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_ConcentrationRiskPercentage1', window );">Total trade receivables</a></td>
<td class="nump">17.00%<span></span>
</td>
<td class="nump">18.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_TradeReceivablesNetDetailsLineItems">
<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 );">- References</a><div><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;">rgr_TradeReceivablesNetDetailsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_ConcentrationRiskPercentage1">
<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 an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</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/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-20<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;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</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_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgr_CustomerOneMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgr_CustomerOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgr_CustomerTwoMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgr_CustomerTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgr_CustomerThreeMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgr_CustomerThreeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R52.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869361078672">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Trade Receivables, Net (Details) - Schedule of Trade Receivables - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_rgr_ScheduleOfTradeReceivablesAbstract', window );"><strong>Schedule of Trade Receivables [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_AccountsReceivableGrossCurrent', window );">Trade receivables</a></td>
<td class="nump">$ 61,428<span></span>
</td>
<td class="nump">$ 67,183<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_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for doubtful accounts</a></td>
<td class="num">(400)<span></span>
</td>
<td class="num">(400)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_AllowanceForDiscountsAccountsReceivableCurrent', window );">Allowance for discounts</a></td>
<td class="num">(1,164)<span></span>
</td>
<td class="num">(1,334)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Trade receivables, net</a></td>
<td class="nump">$ 59,864<span></span>
</td>
<td class="nump">$ 65,449<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_AllowanceForDiscountsAccountsReceivableCurrent">
<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>Allowance For Discounts Accounts Receivable Current</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;">rgr_AllowanceForDiscountsAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_ScheduleOfTradeReceivablesAbstract">
<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 );">- References</a><div><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;">rgr_ScheduleOfTradeReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_AccountsReceivableGrossCurrent">
<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>Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</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/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<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;">us-gaap_AccountsReceivableGrossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<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>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</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/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<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;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<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>Amount of allowance for credit loss on accounts receivable, classified as current.</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/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-4<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;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R53.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869361153376">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventories (Details) - Schedule of Inventories - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_rgr_InventoryAtFifoAbstract', window );"><strong>Inventory at FIFO</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_InventoryFinishedGoods', window );">Finished goods</a></td>
<td class="nump">$ 30,989<span></span>
</td>
<td class="nump">$ 23,573<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_us-gaap_InventoryWorkInProcessAndRawMaterials', window );">Materials and products in process</a></td>
<td class="nump">119,203<span></span>
</td>
<td class="nump">105,721<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_us-gaap_InventoryGross', window );">Gross inventories</a></td>
<td class="nump">150,192<span></span>
</td>
<td class="nump">129,294<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_us-gaap_InventoryLIFOReserve', window );">Less: LIFO reserve</a></td>
<td class="num">(64,262)<span></span>
</td>
<td class="num">(59,489)<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_us-gaap_InventoryValuationReserves', window );">Less: excess and obsolescence reserve</a></td>
<td class="num">(6,120)<span></span>
</td>
<td class="num">(4,812)<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_us-gaap_InventoryNet', window );">Net inventories</a></td>
<td class="nump">$ 79,810<span></span>
</td>
<td class="nump">$ 64,993<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_InventoryAtFifoAbstract">
<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 );">- References</a><div><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;">rgr_InventoryAtFifoAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_InventoryFinishedGoods">
<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>Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_InventoryFinishedGoods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryGross">
<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>Gross amount, as of the balance sheet date, of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_InventoryGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryLIFOReserve">
<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>Amount by which inventory stated at last-in first-out (LIFO) is less than (in excess of) inventory stated at other inventory cost methods.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_InventoryLIFOReserve</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<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>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryValuationReserves">
<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>Amount of valuation reserve for inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-10-S99-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;">us-gaap_InventoryValuationReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcessAndRawMaterials">
<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 aggregate carrying amount as of the balance sheet date of items held by the entity which are partially completed at the time of measurement and unprocessed items that will go through the production process and become part of the final product. Includes supplies used directly or indirectly in the manufacturing or production process. This element may be used when the reporting entity combines work in process and raw materials into an aggregate amount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_InventoryWorkInProcessAndRawMaterials</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R54.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869368445872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property, Plant and Equipment (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_Depreciation', window );">Depreciation expense</a></td>
<td class="nump">$ 21,115<span></span>
</td>
<td class="nump">$ 24,444<span></span>
</td>
<td class="nump">$ 25,801<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<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 amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-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;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_PropertyPlantAndEquipmentAbstract">
<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 );">- References</a><div><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;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R55.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869363888720">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Property, Plant and Equipment (Details) - Schedule of Property, Plant and Equipment - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment</a></td>
<td class="nump">$ 462,397<span></span>
</td>
<td class="nump">$ 447,126<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_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less allowances for depreciation</a></td>
<td class="num">(390,863)<span></span>
</td>
<td class="num">(370,273)<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_us-gaap_PropertyPlantAndEquipmentNet', window );">Net property, plant and equipment</a></td>
<td class="nump">71,534<span></span>
</td>
<td class="nump">76,853<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandAndLandImprovementsMember', window );">Land and improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment</a></td>
<td class="nump">2,826<span></span>
</td>
<td class="nump">2,826<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember', window );">Buildings and improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment</a></td>
<td class="nump">74,650<span></span>
</td>
<td class="nump">72,788<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment</a></td>
<td class="nump">322,730<span></span>
</td>
<td class="nump">314,032<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ToolsDiesAndMoldsMember', window );">Dies and tools [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment</a></td>
<td class="nump">$ 62,191<span></span>
</td>
<td class="nump">$ 57,480<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<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>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</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/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-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;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<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>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</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/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-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;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<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>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</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;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_PropertyPlantAndEquipmentNet">
<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>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-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;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandAndLandImprovementsMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandAndLandImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ToolsDiesAndMoldsMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ToolsDiesAndMoldsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R56.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869361221200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Other Assets (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_rgr_OtherAssetsLineItems', window );"><strong>Other Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_AmortizationOfIntangibleAssets', window );">Patent amortization</a></td>
<td class="nump">$ 0.4<span></span>
</td>
<td class="nump">$ 0.4<span></span>
</td>
<td class="nump">$ 0.3<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_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive', window );">Estimated annual patent amortization expense after five years</a></td>
<td class="nump">0.3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=rgr_TradeNameMember', window );">Trade name [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_rgr_OtherAssetsLineItems', window );"><strong>Other Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">Estimated annual patent amortization expense 2023</a></td>
<td class="nump">0.4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">Estimated annual patent amortization expense 2024</a></td>
<td class="nump">0.4<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">Estimated annual patent amortization expense 2025</a></td>
<td class="nump">0.4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">Estimated annual patent amortization expense 2026</a></td>
<td class="nump">0.4<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">Estimated annual patent amortization expense 2027</a></td>
<td class="nump">0.4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_rgr_OtherAssetsLineItems', window );"><strong>Other Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">Estimated annual patent amortization expense 2023</a></td>
<td class="nump">0.1<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">Estimated annual patent amortization expense 2024</a></td>
<td class="nump">0.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">Estimated annual patent amortization expense 2025</a></td>
<td class="nump">0.1<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">Estimated annual patent amortization expense 2026</a></td>
<td class="nump">0.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">Estimated annual patent amortization expense 2027</a></td>
<td class="nump">$ 0.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_OtherAssetsLineItems">
<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 );">- References</a><div><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;">rgr_OtherAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_AmortizationOfIntangibleAssets">
<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 aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive">
<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>Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</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;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<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>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<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>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<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>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<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>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<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>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=rgr_TradeNameMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=rgr_TradeNameMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R57.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869362374144">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Other Assets (Details) - Schedule of Other Assets - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_rgr_ScheduleOfOtherAssetsAbstract', window );"><strong>Schedule Of Other Assets Abstract</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_FiniteLivedPatentsGross', window );">Patents, at cost</a></td>
<td class="nump">$ 10,280<span></span>
</td>
<td class="nump">$ 10,126<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_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="num">(7,171)<span></span>
</td>
<td class="num">(6,318)<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_us-gaap_DepositAssets', window );">Deposits on capital items</a></td>
<td class="nump">23,045<span></span>
</td>
<td class="nump">17,106<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_us-gaap_FiniteLivedTradeNamesGross', window );">Marlin trade name</a></td>
<td class="nump">7,800<span></span>
</td>
<td class="nump">7,800<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_us-gaap_OtherAssetsMiscellaneous', window );">Other</a></td>
<td class="nump">9,958<span></span>
</td>
<td class="nump">11,249<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">$ 43,912<span></span>
</td>
<td class="nump">$ 39,963<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_ScheduleOfOtherAssetsAbstract">
<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 );">- References</a><div><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;">rgr_ScheduleOfOtherAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_DepositAssets">
<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 carrying amount of the asset transferred to a third party to serve as a deposit, which typically serves as security against failure by the transferor to perform under terms of an agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_DepositAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<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>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</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/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedPatentsGross">
<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>Gross carrying amount before accumulated amortization as of the balance sheet date of the costs pertaining to the exclusive legal rights granted to the owner of the patent to exploit an invention or a process for a period of time specified by law. Such costs may have been expended to directly apply and receive patent rights, or to acquire such rights.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">us-gaap_FiniteLivedPatentsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedTradeNamesGross">
<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>Gross carrying amount before accumulated amortization as of the balance sheet date of the rights acquired through registration of a trade name to gain or protect exclusive use thereof for a reasonably expected period of economic benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-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;">us-gaap_FiniteLivedTradeNamesGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsMiscellaneous">
<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>Amount of other miscellaneous assets.</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;">us-gaap_OtherAssetsMiscellaneous</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<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>Amount of noncurrent assets classified as other.</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/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R58.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869368618384">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leased Assets (Details)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</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_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Leased Assets [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_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Lease term</a></td>
<td class="text">7 years 10 months 24 days<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<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 );">- References</a><div><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;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<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>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</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/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<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;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R59.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869460513024">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leased Assets (Details) - Schedule of Right-of-Use Assets and Related Lease Liabilities - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems', window );"><strong>Leased Assets (Details) - Schedule of Right-of-Use Assets and Related Lease Liabilities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_TotalOperatingLeaseLiabilities', window );">Total operating lease liabilities</a></td>
<td class="nump">$ 2,781<span></span>
</td>
<td class="nump">$ 3,681<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_OtherAssetsMember', window );">Other Assets [Member]</a></td>
<td class="text">&#160;<span></span>
</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_rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems', window );"><strong>Leased Assets (Details) - Schedule of Right-of-Use Assets and Related Lease Liabilities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_OperatingLeaseRightOfUseAsset', window );">Right-of-use assets</a></td>
<td class="nump">2,781<span></span>
</td>
<td class="nump">3,681<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgr_TradeAccountsPayableAndAccruedExpensesMember', window );">Trade accounts payable and accrued expenses [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems', window );"><strong>Leased Assets (Details) - Schedule of Right-of-Use Assets and Related Lease Liabilities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_OperatingLeaseLiabilityCurrent', window );">Current portion</a></td>
<td class="nump">611<span></span>
</td>
<td class="nump">642<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgr_LeaseLiabilitiesMember', window );">Lease liabilities [Member]</a></td>
<td class="text">&#160;<span></span>
</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_rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems', window );"><strong>Leased Assets (Details) - Schedule of Right-of-Use Assets and Related Lease Liabilities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_FinanceLeaseLiabilityNoncurrent', window );">Noncurrent portion</a></td>
<td class="nump">$ 2,170<span></span>
</td>
<td class="nump">$ 3,039<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems">
<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 );">- References</a><div><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;">rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_rgr_TotalOperatingLeaseLiabilities">
<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>Present value of lessee's discounted obligation for lease payments from operating lease.</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;">rgr_TotalOperatingLeaseLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityNoncurrent">
<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>Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.</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/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-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;">us-gaap_FinanceLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<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>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</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/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-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;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<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>Amount of lessee's right to use underlying asset under operating lease.</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/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-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;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_OtherAssetsMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_OtherAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=rgr_TradeAccountsPayableAndAccruedExpensesMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=rgr_TradeAccountsPayableAndAccruedExpensesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=rgr_LeaseLiabilitiesMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=rgr_LeaseLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R60.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869361165440">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leased Assets (Details) - Schedule of Operating Lease Liabilities - Operating lease [Member]<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</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_rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems', window );"><strong>Schedule of Operating Lease Liabilities [Line items]</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_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 808<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_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2025</a></td>
<td class="nump">702<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_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2026</a></td>
<td class="nump">705<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_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">2027</a></td>
<td class="nump">229<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_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2028</a></td>
<td class="nump">160<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_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive', window );">Thereafter</a></td>
<td class="nump">960<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_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total undiscounted future minimum lease payments</a></td>
<td class="nump">3,564<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_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less: Difference between undiscounted lease payments &amp; the present value of future lease payments</a></td>
<td class="num">(783)<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_us-gaap_OperatingLeaseLiability', window );">Total operating lease liabilities</a></td>
<td class="nump">$ 2,781<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems">
<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 );">- References</a><div><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;">rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<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>Amount of lessee's undiscounted obligation for lease payment for operating lease.</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/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<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;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive">
<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>Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</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/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<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;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<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>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</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/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<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;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<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>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</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/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<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;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<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>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</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/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<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;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<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>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</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/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<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;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<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>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</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/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<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;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<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>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</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/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<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;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<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>Present value of lessee's discounted obligation for lease payments from operating lease.</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/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-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;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseContractualTermAxis=rgr_OperatingLeaseMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseContractualTermAxis=rgr_OperatingLeaseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R61.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869363902032">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Trade Accounts Payable and Accrued Expenses (Details) - Schedule of Trade Accounts Payable and Accrued Expenses - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract', window );"><strong>Schedule of Trade Accounts Payable and Accrued Expenses [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_AccountsPayableTradeCurrent', window );">Trade accounts payable</a></td>
<td class="nump">$ 11,100<span></span>
</td>
<td class="nump">$ 13,281<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_us-gaap_AccruedIncomeTaxesCurrent', window );">Federal excise taxes payable</a></td>
<td class="nump">11,954<span></span>
</td>
<td class="nump">13,635<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_us-gaap_OtherAccountsPayableAndAccruedLiabilities', window );">Accrued other</a></td>
<td class="nump">8,654<span></span>
</td>
<td class="nump">8,742<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent', window );">Trade accounts payable and accrued expenses</a></td>
<td class="nump">$ 31,708<span></span>
</td>
<td class="nump">$ 35,658<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract">
<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 );">- References</a><div><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;">rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent">
<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>Sum of the carrying values as of the balance sheet date of obligations incurred through that date and due within one year (or the operating cycle, if longer), including liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received, taxes, interest, rent and utilities, accrued salaries and bonuses, payroll taxes and fringe benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableTradeCurrent">
<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>Carrying value as of the balance sheet date of obligations incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-8<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;">us-gaap_AccountsPayableTradeCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedIncomeTaxesCurrent">
<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>Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-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;">us-gaap_AccruedIncomeTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccountsPayableAndAccruedLiabilities">
<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>Amount of liabilities incurred and payable to vendors for goods and services received classified as other, and expenses incurred but not yet paid, payable within one year or the operating cycle, if longer.</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;">us-gaap_OtherAccountsPayableAndAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R62.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869364138224">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accrued Dividends (Details) - USD ($)<br> $ / shares in Units, $ in Millions</strong></div></th>
<th class="th"><div>Jan. 05, 2023</div></th>
<th class="th"><div>Nov. 30, 2022</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_us-gaap_DisclosureTextBlockSupplementAbstract', window );"><strong>Disclosure Text Block Supplement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_DividendsPayableAmountPerShare', window );">Dividend per share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.05<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_us-gaap_DividendsPayableCurrentAndNoncurrent', window );">Dividend total</a></td>
<td class="nump">$ 88.3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockSupplementAbstract">
<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 );">- References</a><div><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;">us-gaap_DisclosureTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_DividendsPayableAmountPerShare">
<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 per share amount of a dividend declared, but not paid, as of the financial reporting date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-3<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;">us-gaap_DividendsPayableAmountPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsPayableCurrentAndNoncurrent">
<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>Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 405<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480191/946-405-45-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-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;">us-gaap_DividendsPayableCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R63.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869363850160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Line of Credit (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jan. 07, 2022</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2021</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_rgr_LineofCreditDetailsLineItems', window );"><strong>Line of Credit (Details) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_LineOfCreditFacilityExpirationDate1', window );">Revolving credit facility, expiration date</a></td>
<td class="text">Jan.  07,  2025<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_LineOfCreditMember', window );">Line of Credit [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_rgr_LineofCreditDetailsLineItems', window );"><strong>Line of Credit (Details) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Credit facility with a bank</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 40<span></span>
</td>
<td class="nump">$ 40<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_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage', window );">Line of credit unused portion per year</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.25%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_LineofCreditDetailsLineItems">
<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 );">- References</a><div><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;">rgr_LineofCreditDetailsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_LineOfCreditFacilityExpirationDate1">
<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>Date the credit facility terminates, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_LineOfCreditFacilityExpirationDate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<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>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage">
<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 fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility.</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;">us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</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_us-gaap_CreditFacilityAxis=us-gaap_LineOfCreditMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_LineOfCreditMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R64.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869369780608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Employee Benefit Plans (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_us-gaap_CompensationAndRetirementDisclosureAbstract', window );"><strong>Employee Benefit Plans [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_DefinedContributionPlanAdministrativeExpenses', window );">Expenses related to matching employee contributions</a></td>
<td class="nump">$ 4.7<span></span>
</td>
<td class="nump">$ 4.1<span></span>
</td>
<td class="nump">$ 4.0<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_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount', window );">Supplemental contributions total</a></td>
<td class="nump">$ 6.9<span></span>
</td>
<td class="nump">$ 7.4<span></span>
</td>
<td class="nump">$ 7.4<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<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 );">- References</a><div><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;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_DefinedContributionPlanAdministrativeExpenses">
<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>Amount of administrative expense incurred by defined contribution plan.</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;">us-gaap_DefinedContributionPlanAdministrativeExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount">
<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>Amount of discretionary contributions made by an employer to a defined contribution plan.</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;">us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>R65.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869366271472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Other Operating Income, Net (Details) - Schedule of Other Operating Income, Net - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_rgr_ScheduleOfOtherOperatingIncomeNetAbstract', window );"><strong>Schedule of Other Operating Income, Net [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_GainLossOnSaleOfOtherAssets', window );">Gain on sale of operating assets</a></td>
<td class="nump">$ 5<span></span>
</td>
<td class="nump">$ 36<span></span>
</td>
<td class="nump">$ 127<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_ScheduleOfOtherOperatingIncomeNetAbstract">
<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 );">- References</a><div><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;">rgr_ScheduleOfOtherOperatingIncomeNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_GainLossOnSaleOfOtherAssets">
<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>Amount of gain (loss) on sale or disposal of other assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<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;">us-gaap_GainLossOnSaleOfOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R66.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869361191520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Taxes [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Fedral tax rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes', window );">Capitalized and amortized over for income tax purposes</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_IncomeTaxesPaidNet', window );">Income tax payments</a></td>
<td class="nump">$ 26.0<span></span>
</td>
<td class="nump">$ 28.7<span></span>
</td>
<td class="nump">$ 49.5<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes">
<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>Capitalized and amortized over for income tax purposes.</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;">rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</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_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<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>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-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;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</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_us-gaap_IncomeTaxDisclosureAbstract">
<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 );">- References</a><div><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;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_IncomeTaxesPaidNet">
<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 amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-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;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R67.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869364165136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Details) - Schedule of Federal and State Income Tax Provision - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract', window );"><strong>Schedule of Federal and State Income Tax Provision [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_CurrentFederalTaxExpenseBenefit', window );">Federal, current</a></td>
<td class="nump">$ 14,763<span></span>
</td>
<td class="nump">$ 21,741<span></span>
</td>
<td class="nump">$ 42,422<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_us-gaap_DeferredFederalIncomeTaxExpenseBenefit', window );">Federal, deferred</a></td>
<td class="num">(5,285)<span></span>
</td>
<td class="num">(4,694)<span></span>
</td>
<td class="nump">863<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_us-gaap_CurrentStateAndLocalTaxExpenseBenefit', window );">State, current</a></td>
<td class="nump">1,713<span></span>
</td>
<td class="nump">3,779<span></span>
</td>
<td class="nump">7,279<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_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit', window );">State, deferred</a></td>
<td class="num">(582)<span></span>
</td>
<td class="num">(879)<span></span>
</td>
<td class="nump">131<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_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current</a></td>
<td class="nump">16,476<span></span>
</td>
<td class="nump">25,520<span></span>
</td>
<td class="nump">49,701<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_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred</a></td>
<td class="num">$ (5,867)<span></span>
</td>
<td class="num">$ (5,573)<span></span>
</td>
<td class="nump">$ 994<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract">
<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 );">- References</a><div><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;">us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_CurrentFederalTaxExpenseBenefit">
<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>Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-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;">us-gaap_CurrentFederalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_CurrentIncomeTaxExpenseBenefit">
<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>Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<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;">us-gaap_CurrentIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_CurrentStateAndLocalTaxExpenseBenefit">
<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>Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-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;">us-gaap_CurrentStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_DeferredFederalIncomeTaxExpenseBenefit">
<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>Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-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;">us-gaap_DeferredFederalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_DeferredIncomeTaxExpenseBenefit">
<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>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<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;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit">
<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>Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-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;">us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<FILENAME>R68.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869362770464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Details) - Schedule of Effective Income Tax Rate Reconciliation<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract', window );"><strong>Schedule of Effective Income Tax Rate Reconciliation [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Statutory federal income tax rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<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_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State income taxes, net of federal tax benefit</a></td>
<td class="nump">2.20%<span></span>
</td>
<td class="nump">2.70%<span></span>
</td>
<td class="nump">3.40%<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_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch', window );">Research and development tax credits</a></td>
<td class="num">(2.70%)<span></span>
</td>
<td class="num">(4.20%)<span></span>
</td>
<td class="num">(0.40%)<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_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Other</a></td>
<td class="num">(2.50%)<span></span>
</td>
<td class="num">(1.10%)<span></span>
</td>
<td class="nump">0.50%<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate', window );">Effective income tax rate</a></td>
<td class="nump">18.00%<span></span>
</td>
<td class="nump">18.40%<span></span>
</td>
<td class="nump">24.50%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract">
<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 );">- References</a><div><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;">us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<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>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-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;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</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_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate">
<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>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the income tax rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-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;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</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_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<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>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-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;">us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</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_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<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>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-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;">us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</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_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch">
<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>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-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;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R69.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869365137792">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Income Taxes (Details) - Schedule of Deferred Tax Assets and Liabilities - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_rgr_DeferredTaxAssetsAbstract', window );"><strong>Deferred tax assets</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment', window );">Capitalized research and development costs</a></td>
<td class="nump">$ 9,144<span></span>
</td>
<td class="nump">$ 4,838<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_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation', window );">Employee compensation and benefits</a></td>
<td class="nump">2,452<span></span>
</td>
<td class="nump">2,316<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_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts', window );">Allowances for doubtful accounts and discounts</a></td>
<td class="nump">431<span></span>
</td>
<td class="nump">637<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_us-gaap_DeferredTaxAssetsInventory', window );">Inventories</a></td>
<td class="nump">1,635<span></span>
</td>
<td class="nump">1,196<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_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost', window );">Stock-based compensation</a></td>
<td class="nump">1,698<span></span>
</td>
<td class="nump">1,661<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_us-gaap_DeferredTaxAssetsOther', window );">Other</a></td>
<td class="nump">1,608<span></span>
</td>
<td class="nump">1,705<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNet', window );">Total deferred tax assets</a></td>
<td class="nump">16,968<span></span>
</td>
<td class="nump">12,353<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_us-gaap_DeferredTaxLiabilitiesAbstract', window );"><strong>Deferred tax liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</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_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment', window );">Depreciation</a></td>
<td class="nump">3,578<span></span>
</td>
<td class="nump">5,070<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_us-gaap_DeferredTaxLiabilitiesOther', window );">Other</a></td>
<td class="nump">1,414<span></span>
</td>
<td class="nump">1,174<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilities', window );">Total deferred tax liabilities</a></td>
<td class="nump">4,992<span></span>
</td>
<td class="nump">6,244<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsLiabilitiesNet', window );">Net deferred tax assets</a></td>
<td class="nump">$ 11,976<span></span>
</td>
<td class="nump">$ 6,109<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_DeferredTaxAssetsAbstract">
<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 );">- References</a><div><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;">rgr_DeferredTaxAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_DeferredIncomeTaxLiabilities">
<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>Amount of deferred tax liability attributable to taxable temporary differences.</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/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-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;">us-gaap_DeferredIncomeTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment">
<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>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from in-process research and development costs expensed in connection with a business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<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;">us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsInventory">
<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>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<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;">us-gaap_DeferredTaxAssetsInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsLiabilitiesNet">
<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>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-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;">us-gaap_DeferredTaxAssetsLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNet">
<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>Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-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;">us-gaap_DeferredTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOther">
<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>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<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;">us-gaap_DeferredTaxAssetsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation">
<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>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from employee compensation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<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;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost">
<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>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<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;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts">
<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>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<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;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesAbstract">
<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 );">- References</a><div><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;">us-gaap_DeferredTaxLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_DeferredTaxLiabilitiesOther">
<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>Amount of deferred tax liability attributable to taxable temporary differences classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<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;">us-gaap_DeferredTaxLiabilitiesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<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>Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<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;">us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R70.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869361341968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings Per Share (Details) - Schedule of a Reconciliation of the Numerator and Denominator for the Basic and Diluted Earnings Per Share - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_rgr_NumeratorAbstract', window );"><strong>Numerator:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_TemporaryEquityNetIncome', window );">Net income (in Dollars)</a></td>
<td class="nump">$ 48,215<span></span>
</td>
<td class="nump">$ 88,332<span></span>
</td>
<td class="nump">$ 155,899<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_rgr_DenominatorAbstract', window );"><strong>Denominator:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average number of common shares outstanding &#8211; Basic</a></td>
<td class="nump">17,676,955<span></span>
</td>
<td class="nump">17,648,850<span></span>
</td>
<td class="nump">17,585,604<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_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Dilutive effect of options and restricted stock units outstanding under the Company&#8217;s employee compensation plans</a></td>
<td class="nump">134,263<span></span>
</td>
<td class="nump">144,498<span></span>
</td>
<td class="nump">172,230<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_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average number of common shares outstanding &#8211; Diluted</a></td>
<td class="nump">17,811,218<span></span>
</td>
<td class="nump">17,793,348<span></span>
</td>
<td class="nump">17,757,834<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_DenominatorAbstract">
<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 );">- References</a><div><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;">rgr_DenominatorAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_rgr_NumeratorAbstract">
<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 );">- References</a><div><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;">rgr_NumeratorAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<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>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.</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/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480454/718-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-22<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-23<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-28A<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;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</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_us-gaap_TemporaryEquityNetIncome">
<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 portion of net income or loss attributable to temporary equity interest.</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;">us-gaap_TemporaryEquityNetIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<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 average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</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/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<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;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</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_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<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>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</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/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<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;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R71.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869368592752">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Stock Repurchases (Details)<br> $ in Millions</strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</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_us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract', window );"><strong>Stock Repurchases [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_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1', window );">Share repurchase authorization</a></td>
<td class="nump">$ 74.7<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1">
<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>Amount remaining of a stock repurchase plan authorized.</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;">us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract">
<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 );">- References</a><div><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;">us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>84
<FILENAME>R72.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869360259664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Repurchases (Details) - Schedule of Repurchased Shares of its Common Stock - USD ($)<br></strong></div></th>
<th class="th" colspan="3">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</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_rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems', window );"><strong>Schedule of Repurchased Shares of its Common Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_TreasuryStockPreferredShares', window );">Total Number of Shares Purchased</a></td>
<td class="nump">268,502<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</a></td>
<td class="nump">$ 44.79<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</a></td>
<td class="nump">268,502<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram', window );">Maximum Dollar Value of Shares that May Yet Be Purchased Under the Program (in Dollars)</a></td>
<td class="nump">$ 74,680,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfFourthQuarterEventsByTypeAxis=rgr_ThirdQuarter2022Member', window );">Third Quarter 2022 [Member] | July 3 to July 30 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems', window );"><strong>Schedule of Repurchased Shares of its Common Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_TreasuryStockPreferredShares', window );">Total Number of Shares Purchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <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_us-gaap_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <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_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfFourthQuarterEventsByTypeAxis=rgr_ThirdQuarter2022Member', window );">Third Quarter 2022 [Member] | July 31 to August 27 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems', window );"><strong>Schedule of Repurchased Shares of its Common Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_TreasuryStockPreferredShares', window );">Total Number of Shares Purchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <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_us-gaap_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <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_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfFourthQuarterEventsByTypeAxis=rgr_ThirdQuarter2022Member', window );">Third Quarter 2022 [Member] | August 28 to October 1 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems', window );"><strong>Schedule of Repurchased Shares of its Common Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_TreasuryStockPreferredShares', window );">Total Number of Shares Purchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,136<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_us-gaap_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 49.97<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_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,136<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfFourthQuarterEventsByTypeAxis=rgr_FourthQuarter2022Member', window );">Fourth Quarter 2022 [Member] | October 2 to October 29 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems', window );"><strong>Schedule of Repurchased Shares of its Common Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_TreasuryStockPreferredShares', window );">Total Number of Shares Purchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</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_us-gaap_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<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_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfFourthQuarterEventsByTypeAxis=rgr_FourthQuarter2022Member', window );">Fourth Quarter 2022 [Member] | October 30 to November 26 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems', window );"><strong>Schedule of Repurchased Shares of its Common Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_TreasuryStockPreferredShares', window );">Total Number of Shares Purchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,304<span></span>
</td>
<td class="text">&#160;<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_us-gaap_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 49.77<span></span>
</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_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,304<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfFourthQuarterEventsByTypeAxis=rgr_FourthQuarter2022Member', window );">Fourth Quarter 2022 [Member] | November 27 to December 31 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems', window );"><strong>Schedule of Repurchased Shares of its Common Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_TreasuryStockPreferredShares', window );">Total Number of Shares Purchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</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_us-gaap_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<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_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfFourthQuarterEventsByTypeAxis=rgr_FourthQuarter2023Member', window );">Fourth Quarter 2023 [Member] | October 1 to October 28 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems', window );"><strong>Schedule of Repurchased Shares of its Common Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_TreasuryStockPreferredShares', window );">Total Number of Shares Purchased</a></td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</a></td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</a></td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfFourthQuarterEventsByTypeAxis=rgr_FourthQuarter2023Member', window );">Fourth Quarter 2023 [Member] | October 29 to November 25 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems', window );"><strong>Schedule of Repurchased Shares of its Common Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_TreasuryStockPreferredShares', window );">Total Number of Shares Purchased</a></td>
<td class="nump">179,341<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</a></td>
<td class="nump">$ 45.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</a></td>
<td class="nump">179,341<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfFourthQuarterEventsByTypeAxis=rgr_FourthQuarter2023Member', window );">Fourth Quarter 2023 [Member] | November 26 to December 31 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems', window );"><strong>Schedule of Repurchased Shares of its Common Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_TreasuryStockPreferredShares', window );">Total Number of Shares Purchased</a></td>
<td class="nump">84,721<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</a></td>
<td class="nump">$ 43.67<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</a></td>
<td class="nump">84,721<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram">
<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>Amount of maximum Dollar Value of Shares that May Yet Be Purchased Under the Program.</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;">rgr_MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems">
<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 );">- References</a><div><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;">rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased">
<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 number of shares authorized to be repurchased by an entity's Board of Directors under a stock repurchase plan.</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;">us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockAcquiredAverageCostPerShare">
<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>Total cost of shares repurchased divided by the total number of shares repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-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;">us-gaap_TreasuryStockAcquiredAverageCostPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</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_us-gaap_TreasuryStockPreferredShares">
<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>Number of previously issued preferred shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-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;">us-gaap_TreasuryStockPreferredShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfFourthQuarterEventsByTypeAxis=rgr_ThirdQuarter2022Member">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfFourthQuarterEventsByTypeAxis=rgr_ThirdQuarter2022Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardDateAxis=rgr_JulyThreeToJulyThirtyMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardDateAxis=rgr_JulyThreeToJulyThirtyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardDateAxis=rgr_JulyThirtyoneToAugustTwentySevenMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardDateAxis=rgr_JulyThirtyoneToAugustTwentySevenMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardDateAxis=rgr_AugustTwentyEightToOctoberOneMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardDateAxis=rgr_AugustTwentyEightToOctoberOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfFourthQuarterEventsByTypeAxis=rgr_FourthQuarter2022Member">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfFourthQuarterEventsByTypeAxis=rgr_FourthQuarter2022Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardDateAxis=rgr_OctoberTwoToOctoberTwentyNineMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardDateAxis=rgr_OctoberTwoToOctoberTwentyNineMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardDateAxis=rgr_OctoberThirtyToNovemberTwentySevenMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardDateAxis=rgr_OctoberThirtyToNovemberTwentySevenMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardDateAxis=rgr_NovemberTwentySevenToDecemberThirtyOneMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardDateAxis=rgr_NovemberTwentySevenToDecemberThirtyOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfFourthQuarterEventsByTypeAxis=rgr_FourthQuarter2023Member">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfFourthQuarterEventsByTypeAxis=rgr_FourthQuarter2023Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardDateAxis=rgr_OctoberOneToOctoberTwentyEightMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardDateAxis=rgr_OctoberOneToOctoberTwentyEightMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardDateAxis=rgr_October29ToNovember25Member">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardDateAxis=rgr_October29ToNovember25Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardDateAxis=rgr_November26ToDecember31Member">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardDateAxis=rgr_November26ToDecember31Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>85
<FILENAME>R73.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869360811024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Compensation Plans (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>May 31, 2017</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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation</a></td>
<td class="nump">$ 6.2<span></span>
</td>
<td class="nump">$ 5.7<span></span>
</td>
<td class="nump">$ 8.3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=rgr_StockIncentivePlan2017Member', window );">Stock Incentive Plan 2017 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Shares reserved for future issuance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">750,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded', window );">Shares remained unawarded</a></td>
<td class="nump">121,034<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=rgr_StockIncentivePlan2023Member', window );">Stock Incentive Plan 2023 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance', window );">reserved shares for future issuance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,000,000<span></span>
</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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Shares available for future grants</a></td>
<td class="nump">869,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgr_DeferredStockMember', window );">Deferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense', window );">Compensation expense</a></td>
<td class="nump">$ 0.9<span></span>
</td>
<td class="nump">$ 0.8<span></span>
</td>
<td class="nump">$ 0.8<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions', window );">Unrecognized compensation cost</a></td>
<td class="nump">$ 1.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgr_DeferredStockMember', window );">Deferred Stock [Member] | Non-Employee Directors [Member] | Vest in June 2024 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued', window );">Deferred stock awards amount</a></td>
<td class="nump">7,566<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgr_DeferredStockMember', window );">Deferred Stock [Member] | Non-Employee Directors [Member] | Vest in June 2026 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued', window );">Deferred stock awards amount</a></td>
<td class="nump">9,760<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgr_DeferredStockMember', window );">Deferred Stock [Member] | Non-Employee Directors [Member] | Vest in May 2023 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued', window );">Deferred stock awards amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,953<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgr_DeferredStockMember', window );">Deferred Stock [Member] | Non-Employee Directors [Member] | Vesting in May 2025 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued', window );">Deferred stock awards amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,688<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgr_DeferredStockMember', window );">Deferred Stock [Member] | Non-Employee Directors [Member] | Vest in June 2027 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued', window );">Deferred stock awards amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,478<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgr_DeferredStockMember', window );">Deferred Stock [Member] | Non-Employee Directors [Member] | Vesting in May 2022 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued', window );">Deferred stock awards amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,113<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgr_DeferredStockMember', window );">Deferred Stock [Member] | Non-Employee Directors [Member] | Vest in May 2024 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued', window );">Deferred stock awards amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,615<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Restricted stock units issued</a></td>
<td class="nump">114,000<span></span>
</td>
<td class="nump">82,000<span></span>
</td>
<td class="nump">82,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_RestrictedStockExpense', window );">Cost of issuances restricted stock units</a></td>
<td class="nump">$ 6.1<span></span>
</td>
<td class="nump">$ 6.0<span></span>
</td>
<td class="nump">$ 5.6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_RecognizedCostsOfRestrictedStockUnits', window );">Recognized costs of restricted stock units</a></td>
<td class="nump">$ 1.3<span></span>
</td>
<td class="nump">$ 1.7<span></span>
</td>
<td class="nump">$ 1.6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">3 years 3 months 18 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_UnrecognizedCompensationCost', window );">Unrecognized compensation cost</a></td>
<td class="nump">$ 7.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">24 months<span></span>
</td>
<td class="text">24 months<span></span>
</td>
<td class="text">24 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">26 months<span></span>
</td>
<td class="text">26 months<span></span>
</td>
<td class="text">26 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_RecognizedCostsOfRestrictedStockUnits">
<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 amount of recognized costs of restricted stock units.</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;">rgr_RecognizedCostsOfRestrictedStockUnits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded">
<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>Share Based Compensation Arrangement By Share Based Payment Remained Unawarded.</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;">rgr_ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_UnrecognizedCompensationCost">
<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>Amount of unrecognized compensation cost.</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;">rgr_UnrecognizedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_AllocatedShareBasedCompensationExpense">
<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>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</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/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance">
<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>Aggregate number of common shares reserved for future issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-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;">us-gaap_CommonStockCapitalSharesReservedForFutureIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense">
<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 compensation expense recognized during the period pertaining to the deferred compensation arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 710<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483043/710-10-30-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued">
<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>Number of shares issued pursuant to the terms of a deferred compensation arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</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_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions">
<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>Amount of cost to be recognized for option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedStockExpense">
<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>Amount of noncash expense for award of restricted stock or unit under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<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;">us-gaap_RestrictedStockExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<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>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</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/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<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>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</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/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<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>Number of shares authorized for issuance under share-based payment arrangement.</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/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<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 difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-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;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross">
<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>Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-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;">us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</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_us-gaap_PlanNameAxis=rgr_StockIncentivePlan2017Member">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=rgr_StockIncentivePlan2017Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=rgr_StockIncentivePlan2023Member">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=rgr_StockIncentivePlan2023Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=rgr_DeferredStockMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=rgr_DeferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=srt_DirectorMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=srt_DirectorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_VestingPeriodAxis=rgr_VestInJune2024Member">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_VestingPeriodAxis=rgr_VestInJune2024Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_VestingPeriodAxis=rgr_VestInJune2026Member">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_VestingPeriodAxis=rgr_VestInJune2026Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_VestingPeriodAxis=rgr_VestInMay2023Member">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_VestingPeriodAxis=rgr_VestInMay2023Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_VestingPeriodAxis=rgr_VestingInMay2025Member">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_VestingPeriodAxis=rgr_VestingInMay2025Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_VestingPeriodAxis=rgr_VestInJune2027Member">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_VestingPeriodAxis=rgr_VestInJune2027Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_VestingPeriodAxis=rgr_VestingMayTwoThousandTwentyTwoMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_VestingPeriodAxis=rgr_VestingMayTwoThousandTwentyTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_VestingPeriodAxis=rgr_VestInMay2024Member">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_VestingPeriodAxis=rgr_VestInMay2024Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<FILENAME>R74.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869362336912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Segment Information (Details)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_us-gaap_ConcentrationRiskLineItems', window );"><strong>Operating Segment Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_NumberOfOperatingSegments', window );">Number of Operating Segments</a></td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Revenue Benchmark [Member] | Customer Concentration Risk [Member] | Lipseys [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_ConcentrationRiskLineItems', window );"><strong>Operating Segment Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of sales</a></td>
<td class="nump">24.00%<span></span>
</td>
<td class="nump">23.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Revenue Benchmark [Member] | Customer Concentration Risk [Member] | Davidsons [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_ConcentrationRiskLineItems', window );"><strong>Operating Segment Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of sales</a></td>
<td class="nump">19.00%<span></span>
</td>
<td class="nump">23.00%<span></span>
</td>
<td class="nump">19.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Revenue Benchmark [Member] | Customer Concentration Risk [Member] | Sports South [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_ConcentrationRiskLineItems', window );"><strong>Operating Segment Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of sales</a></td>
<td class="nump">15.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">19.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States [Member] | Revenue Benchmark [Member] | Customer Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_ConcentrationRiskLineItems', window );"><strong>Operating Segment Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of sales</a></td>
<td class="nump">94.00%<span></span>
</td>
<td class="nump">94.00%<span></span>
</td>
<td class="nump">94.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskLineItems">
<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>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</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/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481027/954-310-50-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;">us-gaap_ConcentrationRiskLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_ConcentrationRiskPercentage1">
<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 an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</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/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-20<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;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</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_us-gaap_NumberOfOperatingSegments">
<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>Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-18<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;">us-gaap_NumberOfOperatingSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</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_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgr_LipseysMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgr_LipseysMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgr_DavidsonsMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgr_DavidsonsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgr_SportsSouthMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgr_SportsSouthMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<FILENAME>R75.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869359374944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Segment Information (Details) - Schedule of Operating Segment Financial Information - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jul. 01, 2023</div></th>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Oct. 02, 2022</div></th>
<th class="th"><div>Jul. 02, 2022</div></th>
<th class="th"><div>Apr. 02, 2022</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_rgr_NetSalesAbstract', window );"><strong>Net Sales</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_Revenues', window );">Net Sales</a></td>
<td class="nump">$ 130,617<span></span>
</td>
<td class="nump">$ 120,893<span></span>
</td>
<td class="nump">$ 142,804<span></span>
</td>
<td class="nump">$ 149,453<span></span>
</td>
<td class="nump">$ 149,224<span></span>
</td>
<td class="nump">$ 139,390<span></span>
</td>
<td class="nump">$ 140,653<span></span>
</td>
<td class="nump">$ 166,575<span></span>
</td>
<td class="nump">$ 543,767<span></span>
</td>
<td class="nump">$ 595,842<span></span>
</td>
<td class="nump">$ 730,736<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_rgr_IncomeLossBeforeIncomeTaxesAbstract', window );"><strong>Income (Loss) Before Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (Loss) Before Income Taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">58,824<span></span>
</td>
<td class="nump">108,279<span></span>
</td>
<td class="nump">206,594<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_rgr_IdentifiableAssetsAbstract', window );"><strong>Identifiable Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_Assets', window );">Identifiable Assets</a></td>
<td class="nump">398,817<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">484,763<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">398,817<span></span>
</td>
<td class="nump">484,763<span></span>
</td>
<td class="nump">442,343<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_rgr_GoodwillAbstract', window );"><strong>Goodwill</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">3,264<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,264<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,264<span></span>
</td>
<td class="nump">3,264<span></span>
</td>
<td class="nump">3,264<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_us-gaap_DepreciationAbstract', window );"><strong>Depreciation</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21,115<span></span>
</td>
<td class="nump">24,444<span></span>
</td>
<td class="nump">25,801<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_rgr_CapitalExpendituresAbstract', window );"><strong>Capital Expenditures</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_SegmentExpenditureAdditionToLongLivedAssets', window );">Capital Expenditures</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,796<span></span>
</td>
<td class="nump">27,773<span></span>
</td>
<td class="nump">28,776<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=rgr_FirearmsMember', window );">Firearms [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_rgr_NetSalesAbstract', window );"><strong>Net Sales</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_Revenues', window );">Net Sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">540,746<span></span>
</td>
<td class="nump">593,289<span></span>
</td>
<td class="nump">728,141<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_rgr_IncomeLossBeforeIncomeTaxesAbstract', window );"><strong>Income (Loss) Before Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (Loss) Before Income Taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">53,723<span></span>
</td>
<td class="nump">108,610<span></span>
</td>
<td class="nump">207,657<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_rgr_IdentifiableAssetsAbstract', window );"><strong>Identifiable Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_Assets', window );">Identifiable Assets</a></td>
<td class="nump">228,699<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">223,301<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">228,699<span></span>
</td>
<td class="nump">223,301<span></span>
</td>
<td class="nump">188,290<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_rgr_GoodwillAbstract', window );"><strong>Goodwill</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">3,055<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,055<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,055<span></span>
</td>
<td class="nump">3,055<span></span>
</td>
<td class="nump">3,055<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_us-gaap_DepreciationAbstract', window );"><strong>Depreciation</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19,301<span></span>
</td>
<td class="nump">21,992<span></span>
</td>
<td class="nump">22,842<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_rgr_CapitalExpendituresAbstract', window );"><strong>Capital Expenditures</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_SegmentExpenditureAdditionToLongLivedAssets', window );">Capital Expenditures</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,395<span></span>
</td>
<td class="nump">26,598<span></span>
</td>
<td class="nump">25,239<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=rgr_CastingsMember', window );">Castings [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_rgr_NetSalesAbstract', window );"><strong>Net Sales</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_Revenues', window );">Net Sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">36,107<span></span>
</td>
<td class="nump">23,859<span></span>
</td>
<td class="nump">27,306<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_rgr_IncomeLossBeforeIncomeTaxesAbstract', window );"><strong>Income (Loss) Before Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (Loss) Before Income Taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(798)<span></span>
</td>
<td class="num">(3,338)<span></span>
</td>
<td class="num">(2,732)<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_rgr_IdentifiableAssetsAbstract', window );"><strong>Identifiable Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_Assets', window );">Identifiable Assets</a></td>
<td class="nump">11,144<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,910<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,144<span></span>
</td>
<td class="nump">11,910<span></span>
</td>
<td class="nump">13,889<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_rgr_GoodwillAbstract', window );"><strong>Goodwill</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">209<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">209<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">209<span></span>
</td>
<td class="nump">209<span></span>
</td>
<td class="nump">209<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_us-gaap_DepreciationAbstract', window );"><strong>Depreciation</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,814<span></span>
</td>
<td class="nump">2,452<span></span>
</td>
<td class="nump">2,959<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_rgr_CapitalExpendituresAbstract', window );"><strong>Capital Expenditures</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_SegmentExpenditureAdditionToLongLivedAssets', window );">Capital Expenditures</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">401<span></span>
</td>
<td class="nump">1,175<span></span>
</td>
<td class="nump">3,537<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=rgr_EliminationsMember', window );">Eliminations [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_rgr_NetSalesAbstract', window );"><strong>Net Sales</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_Revenues', window );">Net Sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(33,086)<span></span>
</td>
<td class="num">(21,306)<span></span>
</td>
<td class="num">(24,711)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=us-gaap_CorporateMember', window );">Corporate Member</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_rgr_IncomeLossBeforeIncomeTaxesAbstract', window );"><strong>Income (Loss) Before Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (Loss) Before Income Taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,899<span></span>
</td>
<td class="nump">3,007<span></span>
</td>
<td class="nump">1,669<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_rgr_IdentifiableAssetsAbstract', window );"><strong>Identifiable Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_Assets', window );">Identifiable Assets</a></td>
<td class="nump">$ 158,974<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 249,552<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">158,974<span></span>
</td>
<td class="nump">249,552<span></span>
</td>
<td class="nump">240,164<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgr_CastingsMember', window );">Castings [Member] | Unaffiliated Castings [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_rgr_NetSalesAbstract', window );"><strong>Net Sales</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_Revenues', window );">Net Sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,021<span></span>
</td>
<td class="nump">2,553<span></span>
</td>
<td class="nump">2,595<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgr_CastingsMember', window );">Castings [Member] | Intersegment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_rgr_NetSalesAbstract', window );"><strong>Net Sales</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_Revenues', window );">Net Sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 33,086<span></span>
</td>
<td class="nump">$ 21,306<span></span>
</td>
<td class="nump">$ 24,711<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_CapitalExpendituresAbstract">
<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 );">- References</a><div><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;">rgr_CapitalExpendituresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_rgr_GoodwillAbstract">
<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 );">- References</a><div><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;">rgr_GoodwillAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_rgr_IdentifiableAssetsAbstract">
<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 );">- References</a><div><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;">rgr_IdentifiableAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_rgr_IncomeLossBeforeIncomeTaxesAbstract">
<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 );">- References</a><div><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;">rgr_IncomeLossBeforeIncomeTaxesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_rgr_NetSalesAbstract">
<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 );">- References</a><div><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;">rgr_NetSalesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_Assets">
<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>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</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/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-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;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<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 amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-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;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_DepreciationAbstract">
<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 );">- References</a><div><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;">us-gaap_DepreciationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_Goodwill">
<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>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-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;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<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>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</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/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-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;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_Revenues">
<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>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-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;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_SegmentExpenditureAdditionToLongLivedAssets">
<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>Amount of expenditure for addition to long-lived assets included in determination of segment assets by chief operating decision maker (CODM) or otherwise regularly provided to CODM. Excludes expenditure for addition to financial instrument, long-term customer relationship of financial institution, mortgage and other servicing rights, deferred policy acquisition cost, and deferred tax assets.</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/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-25<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482785/280-10-55-48<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;">us-gaap_SegmentExpenditureAdditionToLongLivedAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_StatementBusinessSegmentsAxis=rgr_FirearmsMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=rgr_FirearmsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=rgr_CastingsMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=rgr_CastingsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=rgr_EliminationsMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=rgr_EliminationsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=us-gaap_CorporateMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=us-gaap_CorporateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgr_CastingsMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgr_CastingsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=rgr_UnaffiliatedCastingsMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=rgr_UnaffiliatedCastingsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=rgr_IntersegmentMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=rgr_IntersegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<FILENAME>R76.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869355688960">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Quarterly Results of Operations (Unaudited) (Details) - Schedule of Quarterly Financial Information - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jul. 01, 2023</div></th>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Oct. 02, 2022</div></th>
<th class="th"><div>Jul. 02, 2022</div></th>
<th class="th"><div>Apr. 02, 2022</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_rgr_ScheduleOfQuarterlyFinancialInformationAbstract', window );"><strong>Schedule of Quarterly Financial Information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_Revenues', window );">Net Sales</a></td>
<td class="nump">$ 130,617<span></span>
</td>
<td class="nump">$ 120,893<span></span>
</td>
<td class="nump">$ 142,804<span></span>
</td>
<td class="nump">$ 149,453<span></span>
</td>
<td class="nump">$ 149,224<span></span>
</td>
<td class="nump">$ 139,390<span></span>
</td>
<td class="nump">$ 140,653<span></span>
</td>
<td class="nump">$ 166,575<span></span>
</td>
<td class="nump">$ 543,767<span></span>
</td>
<td class="nump">$ 595,842<span></span>
</td>
<td class="nump">$ 730,736<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_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">32,257<span></span>
</td>
<td class="nump">24,728<span></span>
</td>
<td class="nump">38,148<span></span>
</td>
<td class="nump">38,486<span></span>
</td>
<td class="nump">39,554<span></span>
</td>
<td class="nump">38,869<span></span>
</td>
<td class="nump">43,554<span></span>
</td>
<td class="nump">58,108<span></span>
</td>
<td class="nump">133,619<span></span>
</td>
<td class="nump">180,085<span></span>
</td>
<td class="nump">279,557<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_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 10,249<span></span>
</td>
<td class="nump">$ 7,431<span></span>
</td>
<td class="nump">$ 16,185<span></span>
</td>
<td class="nump">$ 14,350<span></span>
</td>
<td class="nump">$ 18,954<span></span>
</td>
<td class="nump">$ 18,389<span></span>
</td>
<td class="nump">$ 20,757<span></span>
</td>
<td class="nump">$ 30,232<span></span>
</td>
<td class="nump">$ 48,215<span></span>
</td>
<td class="nump">$ 88,332<span></span>
</td>
<td class="nump">$ 155,899<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_us-gaap_EarningsPerShareBasic', window );">Basic earnings per share (in Dollars per share)</a></td>
<td class="nump">$ 0.58<span></span>
</td>
<td class="nump">$ 0.42<span></span>
</td>
<td class="nump">$ 0.91<span></span>
</td>
<td class="nump">$ 0.81<span></span>
</td>
<td class="nump">$ 1.07<span></span>
</td>
<td class="nump">$ 1.04<span></span>
</td>
<td class="nump">$ 1.18<span></span>
</td>
<td class="nump">$ 1.72<span></span>
</td>
<td class="nump">$ 2.73<span></span>
</td>
<td class="nump">$ 5<span></span>
</td>
<td class="nump">$ 8.87<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_us-gaap_EarningsPerShareDiluted', window );">Diluted earnings per share (in Dollars per share)</a></td>
<td class="nump">$ 0.58<span></span>
</td>
<td class="nump">$ 0.42<span></span>
</td>
<td class="nump">$ 0.91<span></span>
</td>
<td class="nump">$ 0.81<span></span>
</td>
<td class="nump">$ 1.06<span></span>
</td>
<td class="nump">$ 1.03<span></span>
</td>
<td class="nump">$ 1.17<span></span>
</td>
<td class="nump">$ 1.7<span></span>
</td>
<td class="nump">$ 2.71<span></span>
</td>
<td class="nump">$ 4.96<span></span>
</td>
<td class="nump">$ 8.78<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_ScheduleOfQuarterlyFinancialInformationAbstract">
<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 );">- References</a><div><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;">rgr_ScheduleOfQuarterlyFinancialInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_us-gaap_EarningsPerShareBasic">
<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 amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</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/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<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;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</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_us-gaap_EarningsPerShareDiluted">
<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 amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</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/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<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;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</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_us-gaap_GrossProfit">
<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>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-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;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_NetIncomeLoss">
<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 portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-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;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_Revenues">
<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>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-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;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<FILENAME>R77.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869364933408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Party Transactions (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=rgr_NationalRifleAssociationMember', window );">National Rifle Association [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_RelatedPartyTransactionAmountsOfTransaction', window );">Amount paid</a></td>
<td class="nump">$ 0.5<span></span>
</td>
<td class="nump">$ 0.7<span></span>
</td>
<td class="nump">$ 0.5<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=rgr_NationalShootingSportsFoundationMember', window );">National Shooting Sports Foundation [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_RelatedPartyTransactionAmountsOfTransaction', window );">Amount paid</a></td>
<td class="nump">$ 0.3<span></span>
</td>
<td class="nump">$ 0.3<span></span>
</td>
<td class="nump">$ 0.4<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAmountsOfTransaction">
<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>Amount of transactions with related party during the financial reporting period.</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/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-3<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;">us-gaap_RelatedPartyTransactionAmountsOfTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_RelatedPartyTransactionLineItems">
<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>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</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/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c)(2)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c)(2)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(g)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-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;">us-gaap_RelatedPartyTransactionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_RelatedPartyTransactionAxis=rgr_NationalRifleAssociationMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=rgr_NationalRifleAssociationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=rgr_NationalShootingSportsFoundationMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=rgr_NationalShootingSportsFoundationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>90
<FILENAME>R78.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869363558928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Contingent Liabilities (Details)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</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_rgr_ContingentLiabilitiesDetailsLineItems', window );"><strong>Contingent Liabilities (Details) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis', window );">Minimum limit of per claim for providing insurance coverage on annual basis (in Dollars)</a></td>
<td class="nump">$ 5.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities', window );">Maximum limit of aggregate loss incurred annually for providing insurance coverage on annual basis (in Dollars)</a></td>
<td class="nump">$ 10.0<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_LossContingencyDamagesSoughtValue', window );">Total amount of damages claimed (in Dollars)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.1<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_us-gaap_LossContingencyNewClaimsFiledNumber', window );">Number of lawsuits</a></td>
<td class="nump">1<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">1<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_us-gaap_LossContingencyClaimsSettledNumber', window );">Number of lawsuits resolved</a></td>
<td class="nump">1<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_LossContingencyNumberOfLawsuits', window );">Number of lawsuits involving its products</a></td>
<td class="num">(7)<span></span>
</td>
<td class="num">(5)<span></span>
</td>
<td class="num">(4)<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_us-gaap_ProductLiabilityAccrualPeriodExpense', window );">Product liability expense (in Dollars)</a></td>
<td class="nump">$ 1.5<span></span>
</td>
<td class="nump">$ 1.3<span></span>
</td>
<td class="nump">$ 1.1<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesByNatureOfContingencyAxis=rgr_TraditionalProductLiabilityMember', window );">Traditional Product Liability [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_rgr_ContingentLiabilitiesDetailsLineItems', window );"><strong>Contingent Liabilities (Details) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_LossContingencyNewClaimsFiledNumber', window );">Number of lawsuits</a></td>
<td class="nump">1<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesByNatureOfContingencyAxis=rgr_MunicipalLawsuitsMember', window );">Municipal Lawsuits [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_rgr_ContingentLiabilitiesDetailsLineItems', window );"><strong>Contingent Liabilities (Details) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_LossContingencyNewClaimsFiledNumber', window );">Number of lawsuits</a></td>
<td class="nump">4<span></span>
</td>
<td class="nump">4<span></span>
</td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesByNatureOfContingencyAxis=rgr_UnfairTradePracticesLawsuitsMember', window );">Unfair Trade Practices Lawsuits [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_rgr_ContingentLiabilitiesDetailsLineItems', window );"><strong>Contingent Liabilities (Details) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_LossContingencyNewClaimsFiledNumber', window );">Number of lawsuits</a></td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesByNatureOfContingencyAxis=rgr_NegligenceLawsuitsMember', window );">Negligence Lawsuits [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_rgr_ContingentLiabilitiesDetailsLineItems', window );"><strong>Contingent Liabilities (Details) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_LossContingencyNewClaimsFiledNumber', window );">Number of lawsuits</a></td>
<td class="nump">2<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_ContingentLiabilitiesDetailsLineItems">
<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 );">- References</a><div><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;">rgr_ContingentLiabilitiesDetailsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_rgr_LossContingencyNumberOfLawsuits">
<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>Loss contingency, number of lawsuits.</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;">rgr_LossContingencyNumberOfLawsuits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</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_rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities">
<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>Represents maximum limit of aggregate loss incurred annually for providing insurance coverage on annual basis excluding for certain new claims from governments or municipalities.</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;">rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis">
<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>Represents minimum limit of per claim for providing insurance coverage on annual basis.</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;">rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_LossContingencyClaimsSettledNumber">
<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>Number of claims settled.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-9<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;">us-gaap_LossContingencyClaimsSettledNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</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_us-gaap_LossContingencyDamagesSoughtValue">
<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 value (monetary amount) of the award the plaintiff seeks in the legal matter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-4<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-9<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;">us-gaap_LossContingencyDamagesSoughtValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_LossContingencyNewClaimsFiledNumber">
<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 total number of new claims filed pertaining to a loss contingency during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-9<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;">us-gaap_LossContingencyNewClaimsFiledNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</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_us-gaap_ProductLiabilityAccrualPeriodExpense">
<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 amount of loss reported during the period pertaining to product liability.</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;">us-gaap_ProductLiabilityAccrualPeriodExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_LossContingenciesByNatureOfContingencyAxis=rgr_TraditionalProductLiabilityMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingenciesByNatureOfContingencyAxis=rgr_TraditionalProductLiabilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingenciesByNatureOfContingencyAxis=rgr_MunicipalLawsuitsMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingenciesByNatureOfContingencyAxis=rgr_MunicipalLawsuitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingenciesByNatureOfContingencyAxis=rgr_UnfairTradePracticesLawsuitsMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingenciesByNatureOfContingencyAxis=rgr_UnfairTradePracticesLawsuitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingenciesByNatureOfContingencyAxis=rgr_NegligenceLawsuitsMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingenciesByNatureOfContingencyAxis=rgr_NegligenceLawsuitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>91
<FILENAME>R79.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869460520144">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Contingent Liabilities (Details) - Schedule of Roll-Forward for Product Liability Reserve - Product Liability Reserve [Member] - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Product Warranty Liability [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance Beginning of Year</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">$ 308<span></span>
</td>
<td class="nump">$ 892<span></span>
</td>
<td class="nump">$ 1,126<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_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Accrued Legal Expense (Income)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="nump">500<span></span>
</td>
<td class="num">(417)<span></span>
</td>
<td class="num">(7)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_ValuationAllowancesAndReservesLegalFees', window );">Legal Fees</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="num">(129)<span></span>
</td>
<td class="num">(167)<span></span>
</td>
<td class="num">(227)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_ValuationAllowancesAndReservesSettlements', window );">Settlements</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[4]</sup></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <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_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance End of Year</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">$ 679<span></span>
</td>
<td class="nump">$ 308<span></span>
</td>
<td class="nump">$ 892<span></span>
</td>
</tr>
<tr><td colspan="4"></td></tr>
<tr><td colspan="4"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">The beginning and ending liability balances represent accrued legal fees only. Settlements and administrative
costs are expensed as incurred. Only in rare instances is an accrual established for settlements.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top">The expense accrued in the liability is for legal fees only. In 2022 and 2021, the costs incurred related
to cases that were settled or dismissed were less than the amounts accrued for these cases in prior years.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[3]</td>
<td style="vertical-align: top;" valign="top">Legal fees represent payments to outside counsel related to product liability matters.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[4]</td>
<td style="vertical-align: top;" valign="top">Settlements represent payments made to plaintiffs or allegedly injured parties in exchange for a full
and complete release of liability.</td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_ValuationAllowancesAndReservesLegalFees">
<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>Valuation Allowances And Reserves Legal Fees</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;">rgr_ValuationAllowancesAndReservesLegalFees</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_rgr_ValuationAllowancesAndReservesSettlements">
<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>Valuation Allowances And Reserves Settlements</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;">rgr_ValuationAllowancesAndReservesSettlements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_us-gaap_ProductWarrantyLiabilityLineItems">
<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>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</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;">us-gaap_ProductWarrantyLiabilityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_ValuationAllowancesAndReservesBalance">
<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>Amount of valuation and qualifying accounts and reserves.</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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column E))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-4<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;">us-gaap_ValuationAllowancesAndReservesBalance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense">
<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>Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.</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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column C)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-4<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;">us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_srt_ProductOrServiceAxis=rgr_ProductLiabilityReserveMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgr_ProductLiabilityReserveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>92
<FILENAME>R80.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869369856608">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Contingent Liabilities (Details) - Schedule of Product Liability Expense - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgr_AccruedLegalExpenseMember', window );">Accrued Legal Expense [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_ProductLiabilityContingencyLineItems', window );"><strong>Product Liability Contingency [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Accrued Legal Expense</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">$ 500<span></span>
</td>
<td class="num">$ (417)<span></span>
</td>
<td class="num">$ (7)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgr_ProductInsurancePremiumExpenseMember', window );">Insurance Premium Expense [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_ProductLiabilityContingencyLineItems', window );"><strong>Product Liability Contingency [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_ProductLiabilityAccrualPeriodExpense', window );">Insurance Premium Expense</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="nump">1,226<span></span>
</td>
<td class="nump">1,524<span></span>
</td>
<td class="nump">1,119<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgr_TotalProductLiabilityExpenseMember', window );">Total Product Liability Expense [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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_us-gaap_ProductLiabilityContingencyLineItems', window );"><strong>Product Liability Contingency [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_ProductLiabilityAccrualComponentAmount', window );">Total Product Liability Expense</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 1,726<span></span>
</td>
<td class="nump">$ 1,107<span></span>
</td>
<td class="nump">$ 1,112<span></span>
</td>
</tr>
<tr><td colspan="4"></td></tr>
<tr><td colspan="4"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">The expense accrued in the liability is for legal fees only. In 2022 and 2021, the costs incurred related
to cases that were settled or dismissed were less than the amounts accrued for these cases in prior years.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top">Insurance expense represents the cost of insurance premiums.</td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductLiabilityAccrualComponentAmount">
<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>Recorded amount of the accrual for a material component of a product liability contingency.</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/exampleRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.Y.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480102/450-20-S99-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;">us-gaap_ProductLiabilityAccrualComponentAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductLiabilityAccrualPeriodExpense">
<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 amount of loss reported during the period pertaining to product liability.</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;">us-gaap_ProductLiabilityAccrualPeriodExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</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_us-gaap_ProductLiabilityContingencyLineItems">
<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>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</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/disclosureRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.Y.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480102/450-20-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-4<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-9<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;">us-gaap_ProductLiabilityContingencyLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense">
<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>Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.</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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column C)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-4<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;">us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</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_srt_ProductOrServiceAxis=rgr_AccruedLegalExpenseMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgr_AccruedLegalExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgr_ProductInsurancePremiumExpenseMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgr_ProductInsurancePremiumExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgr_TotalProductLiabilityExpenseMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgr_TotalProductLiabilityExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>93
<FILENAME>R81.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm139869369706048">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Subsequent Events (Details)<br></strong></div></th>
<th class="th">
<div>Feb. 16, 2024 </div>
<div>$ / shares</div>
</th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent Event [Member]</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_us-gaap_SubsequentEventLineItems', window );"><strong>Subsequent Event [Line Items]</strong></a></td>
<td class="text">&#160;<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_us-gaap_DividendsPayableAmountPerShare', window );">Dividend authorized</a></td>
<td class="nump">$ 0.23<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsPayableAmountPerShare">
<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 per share amount of a dividend declared, but not paid, as of the financial reporting date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-3<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;">us-gaap_DividendsPayableAmountPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventLineItems">
<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>Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.</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/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483399/855-10-50-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;">us-gaap_SubsequentEventLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<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 );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>95
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M-!1Z'@V3["]ZR:\=VCWDI0FG41$,3Q %<?Z+7PL0[P+.C88 JPBP?@DPG88
MNPBP?PT8-@0X18"3D<F+DG&88(ZO+QE]04Q<#6IB(X.914/Q@UC\OR\Y@[,!
MQ/%KESX3AOKH^W*"/O[QZ7+ 052<&GB%P$TN8#4(F!:ZIS'?)N@V]HE?%QC
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
MC30&^O^W7+?"PX%YQ[_[3<?B?U!+ P04    "  UB%58I+HP)@$#   G"P
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
MB#(^.3OES';#HS/0-*'_E@:IF\.VHGD+UCO0_<H8W!D^P##!\]]02P,$%
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
MRCK@>2FEV6UL@NX7-/L#4$L#!!0    ( #6(55BY%D)KM@(  .0%   9
M>&PO=V]R:W-H965T<R]S:&5E=#$R+GAM;(54VV[;, Q]SU<07C&T@!';LG-Q
ME@3H9=D*M%O18MO#L ?%9A*AMI1)2M/^_2C;<3,@35]L4N(Y/)1$CK=*/YH5
MHH7GLI!FXJVL78^"P&0K++GIJC5*VEDH77)+KEX&9JV1YQ6H+ (6AOV@Y$)Z
MTW&U=J>G8[6QA9!XI\%LRI+KEPLLU';B1=YNX5XL5]8M!-/QFB_Q >V/]9TF
M+VA9<E&B-$))T+B8>.?1Z")Q\57 3X%;LV>#JV2NU*-SKO.)%SI!6&!F'0.G
MWQ->8E$X(I+QM^'TVI0.N&_OV&=5[53+G!N\5,4OD=O5Q!MZD..";PI[K[9?
ML:FGY_@R59CJ"]LZEL4>9!MC5=F 24$I9/WGS\TY[ &&X1L U@!8I;M.5*F\
MXI9/QUIM0;MH8G-&56J%)G%"NDMYL)IV!>'L]%H^H;1*"S3CP!*A6PZR!GQ1
M@]D;X(C!K9)V9>"SS#'_GR @):T<MI-SP8XR7F'6A3CR@84L/L(7M^7%%5_\
M?GGP^WQNK*9G\.=0I35/<IC'M<;(K'F&$X_>OD']A-[TXX>H'WXZHC)I52;'
MV-^[A*/@P]*2+NR7OF]GBCK*6% +L"N$A2JH,85<CCIT^%C.4;<7X#ZLLP._
M +<PNYY][\R$%/3D<E@JE1LX@3CTTV%*!HO]WB#NW'*+6O#" )<YK+7*-YDU
M(*2S,S0&HBCU61A#%/;\ 8LZ7[0R+N!59]0+_2AE$#&*3)/.#<%&<$/YH2D3
M3ON)S_H,SN"TE_H)*3AKPO"YRN*RJ[E1!9H,989[2#]BH0,F_I">\5GG&PW
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
M/B++ MC/C/&[!SY@_\4U_P]02P,$%     @ -8A56/Z#H'YZ @  _ 4  !D
M  !X;"]W;W)K<VAE971S+W-H965T,38N>&ULI53);MLP$+W[*P@UZ,FP-B^J
M:PNPLZ ]!#"2+H>B!UH:640H4B7IV/G[#JDE+N 8*'*1.,,W;]Z0G%D<I'K2
M)8 AQXH+O?1*8^JY[^NLA(KJD:Q!X$XA544-FFKGZUH!S5U0Q?TH"*9^19GP
MTH7S;52ZD'O#F8"-(GI?552]K('+P](+O<[QP':EL0X_7=1T!X]@OM<;A9;?
ML^2L J&9%$1!L?16X7P]MG@'^,'@H$_6Q%:RE?+)&E_SI1=80< A,Y:!XN\9
MKH%S2X0R_K2<7I_2!IZN._8[5SO6LJ4:KB7_R7)3+KW$(SD4=,_-@SQ\@;:>
MB>7+)-?N2PX-=C+Q2+;71E9M,"JHF&C^]-B>PTE $KP1$+4!D=/=)'(J;ZBA
MZ4+) U$6C6QVX4IUT2B."7LICT;A+L,XDWY3- >RRC*Y%T:3#7VA6PZ$BMPZ
MU1YR<GO$%Z!!+WR#"6V8G[7DZX8\>H,\C,B]%*;4Y%;DD/]+X*/27F[4R5U'
M%QEO(!N1.!R2*(CB"WQQ7W[L^.+WET]^K;;:*'Q&O\^=1)-G?#Z/;:VYKFD&
M2P][1X-Z!B_]^"&<!I\O5#'NJQA?8G_O)5XD/R\]&9'_.;H&2SML?8*E+18Z
M;":QX[49R(*8$D@A.0X.)G;S 5X^5%M0_0.PGVCP!OD5"<-A& 1V$0^C)!S<
M00Z*<DR5,0W$T".\PA'\:3*VT&D\&7052)2@2#*<XE8RG(VCP97-/@L2I(TG
MZ$_(N0OT3SJR K5S<\?6AA*;YNR]_6A;-1W]"F_FXCU5.R8TX5!@:#":X211
MS:QI#"-KU]];:7!:N&6)XQF4!>!^(:7I#)N@'_CI7U!+ P04    "  UB%58
M;@&Y/(\"  "@!0  &0   'AL+W=O<FMS:&5E=',O<VAE970Q-RYX;6R-E$UO
MVS ,AN_]%81;]%3X,VG3-@F0M!NV =V*=A^'80?%9F*ALN1)2MS^^U&RXV58
M&O1BBQ+Y\*5E<MPH_61*1 O/E9!F$I36UE=19/(2*V9"5:.DDZ72%;-DZE5D
M:HVL\$&5B-(X/H\JQF4P'?N]>ST=J[457.*]!K.N*J9?YBA4,PF28+OQP%>E
M=1O1=%RS%3ZB_5;?:[*BGE+P"J7A2H+&Y228)5?S@?/W#M\Y-F9G#:Z2A5)/
MSOA83(+8"4*!N74$1J\-WJ 0#D0R?G?,H$_I G?76_I[7SO5LF &;Y3XP0M;
M3H)1  4NV5K8!]5\P*Z>H>/E2AC_A*;U32\#R-?&JJH+)@45E^V;/7??82=@
M%+\2D'8!J=?=)O(J;YEET[%6#6CG332W\*7Z:!+'I;N41ZOIE%.<G<[R7*^Q
M@%N^X07*PHPC2UAW&.4=8MXBTE<020IW2MK2P#M98/$O("(]O:AT*VJ>'B3>
M8AY"EIQ!&J?9 5[6%YEY7O;6(N'G;&&LIE_BU[YZ6]I@/\VUR96I68Z3@/K
MH-Y@,#T]3L[CZP-:![W6P2'ZVR[D,.(RA/\K_B+AL]I@M4 -6>P_;7H&MD2X
M457-Y,OI\2A-+JX-S!73Q9%:4K"FWE':T&^>"Z:)Q^!D&,8QU$0Q)6V!J3'G
M3$#198*:O;"%0*"6^\3DFCH=ANU-@E5 /W3^5"I1(&$I!V50FKC>H'MO!29M
M1!H>?26!6_09-"7/2\)8)DC,R6@49M040E!_TR%!:L:+/9G#?1<3[71-A7KE
M9X.!7*VE;1NHW^W'SZSMNK_N[>RZ8WK%I0&!2PJ-PXMA +J=!ZUA5>U[<*$L
M=;1?EC1"43L'.E\J9;>&2] /Y>D?4$L#!!0    ( #6(55A:+PM<%0(  , $
M   9    >&PO=V]R:W-H965T<R]S:&5E=#$X+GAM;(U4VX[3,!!]YRM&!O&$
MFDN[!94D4B\@D':E:E?  ^+!32:)M;X$V]WN_CVVDX:"NM6^Q!Y[SO$YSHRS
M@]+WID6T\"BX-#EIK>T6463*%@4U$]6A=#NUTH):%^HF,IU&6@60X%$:Q_-(
M4"9)D86UK2XRM;><2=QJ,'LAJ'Y:(5>'G"3DN'#+FM;ZA:C(.MK@'=IOW5:[
M*!I9*B90&J8D:*QSLDP6JYG/#PG?&1[,R1R\DYU2]S[X6N4D]H*08VD] W7#
M ZZ1<T_D9/P>.,EXI >>SH_LGX-WYV5'#:X5_\$JV^;D X$*:[KG]E8=ON#@
MY\KSE8J;\(5#GYO."91[8Y48P$Z!8+(?Z>-P#R> >?(,(!T :=#='Q14;JBE
M1:;5 ;3/=FQ^$JP&M!/'I/\I=U:[7>9PMKAV,:@:UAHK9K/(.DZ_$Y4#?M7C
MTV?P20HW2MK6P"=98?4O0>3$C(K2HZ)5>I%Q@^4$ILD[2.-T>H%O.CJ<!K[I
MBQS"S^7.6.V*X=<YLSW5[#R5;Y"%Z6B).7$=8% _("G>OD[F\<<+0F>CT-DE
M]A?\BLOX))[ ?V8W>\UDXV\R =LBK)7HJ'R"EE9 X<TL?B48YZX[SLF/3JI*
MH&Y"[Q@HU5[:OL#&U;$]EWU5_DWO>_N&ZH9) QQK!XTG[Z\(Z+Y?^L"J+M3H
M3EE7\6':NB<&M4]P^[52]ACX \9'J_@#4$L#!!0    ( #6(55A:;_-GC0,
M &@(   9    >&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;)56WV_;. Q^SU]!
M>,.P SK_2M9V;1*@Z7JX/0PHNNWV<+@'16)BH;+D27+2_/='R8GK[9H >[$E
MFOSXD10I3[?&/KH*T<-3K;2;)97WS566.5YAS5QJ&M3T965LS3QM[3ISC44F
MHE&MLC+/S[.:29W,IU%V;^=3TWHE-=Y;<&U=,[M;H#+;65(D!\&#7%<^"++Y
MM&%K_(+^6W-O:9?U*$+6J)TT&BRN9LE-<;68!/VH\+?$K1NL(42R-.8Q;#Z)
M69('0JB0^X# Z+7!6U0J !&-'WO,I'<9#(?K _J?,7:*9<D<WAKU70I?S9++
M! 2N6*O\@]G^A?MXW@<\;I2+3]AVNN-) KQUWM1[8V)02]V]V=,^#P.#R_R(
M0;DW*"/OSE%D^9%Y-I]:LP4;M DM+&*HT9K(21V*\L5;^BK)SL_OZD:9'2(L
M4.-*>KA73+MIY@D[:&1\C[/H<,HC.$4)GXWVE8,[+5#\#) 1J9Y9>6"V*$\B
M?D2>PK@X@S(OQR?PQGVDXX@W_JU(X9^;I?.6#L>_+P7=04Y>A@P-<^4:QG&6
M4$<XM!M,YF]>%>?Y]0G"DY[PY!3Z;Y3F-$Y1I' D^*\5PJVI&Z9WX!JCG;$.
M&/QHF9(KB2*<;T(3[SC5ULIE&SII-,F+MX]_0$,0X"OF@9L-DJ%K*95,>\F4
MV@$]P*Q >@>X]^Y2^$:GPY(5@D=;NZ 1-@/(LR@XL**^HSD42'&TGH8,-,9&
M%F1YP(4A/0?>! AI06HA-U)0- <'C'/3:J+4.JG7T=.;5Y=EF5\[MD*HF%T:
M&R7%-:Q;*3!DTT%C#0%10J2.1I\TT==,C1YP@[H-? 52FI]H6#K2MZB8)W6B
M$B,(SDZR'68 MF@17D_2"^IXI4CK+.R*YQW3(DCR@V1$M$*;Q&8IN^^THN:A
M8]E@G'QJE\*-$#)X#04Z@R-&P_R/^L"%=-QB-+9T6-JF44C#V5-N7XSG1.ZI
M<O\_*H,S<L=X]9PMBQR)OABQXUZ?2[YW$B>U@##VH=4R7%[0H.7!=(V!07?&
M=Z$PG&*ELK&(A,1KJ21-5$$9T6T@F,9&X<9YLAR1(X>G,T R,G]]GGX85/ B
MG?Q2P8'D6#%^J>!+8R4;3/\:[3K><0YB'KJ+H)?VU^A-=WL\JW=W\&=FUY(B
M4+@BTSR]>)^ [>ZU;N--$^^2I?%T,\5E1;\":(,"?5\9XP^;X*#_N9C_!U!+
M P04    "  UB%586E;:K5 "  !N!0  &0   'AL+W=O<FMS:&5E=',O<VAE
M970R,"YX;6R55-MNVS ,?>]7$-JPIR*^I6F7)0::=I<^="U:;,,P[$&QZ5BH
M+IZD--W?C[(=-P/2 'VP+(GDX:&DP]G&V =7(WIX4E*[.:N];Z91Y(H:%7<C
MTZ F2V6LXIZ6=A6YQB(OVR EHS2.)Y'B0K-\UN[=VGQFUEX*C;<6W%HI;O\N
M4)K-G"5LNW$G5K4/&U$^:_@*[]%_:VXMK:(!I10*M1-&@\5JSLZ3Z6(<_%N'
M[P(W;F<.H9*E,0]A<57.61P(H<3"!P1.OT>\0"D#$-'XTV.R(64(W)UOT3^U
MM5,M2^[PPL@?HO3UG)TQ*+'B:^GOS.8+]O6<!+S"2->.L.E\L_<,BK7S1O7!
MQ$ )W?WY4W\..P%G\0L!:1^0MKR[1"W+2^YY/K-F S9X$UJ8M*6VT41.Z' I
M]]Z255"<SV]\C19N&K3<"[V"*UT8A<?P%?TL\I0@N$5%#[;HP-(7P)(4KHWV
MM8./NL3R?X"(F WTTBV]17H0\1*+$63),:1QFAW RX9RLQ8O>WVY\.M\Z;RE
M9_)[7^4=[G@_;I#.U#6\P#DC;3BTC\CR=V^22?SA .OQP'I\"/VUEW00;#_5
M)!W!H;/I;&:PB=ZFR588DJCS#DP%Y :5D21U\IH>_41N <-; +I)5$L"V=YF
M&-(P)$>?J7D 2=1QB0'E.0]W#@GY+9S0ETUH2-)3V'>DT8X&%-I5JW1'Y-;:
M=W(8=H=F<MYIZ-F]ZT37W*Z$=B"QHM!X='K"P';J[A;>-*VBEL:3/MMI30T1
M;7 @>V6,WRY"@J'%YO\ 4$L#!!0    ( #6(55@)'@(SSP8  +$/   9
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
M]+J_ACT>[R^SOW"]1:RQ2I0@#8/E8L9T?T'L%U:U[E*&(H@KGOO<X4XM-!W
M_U+!5\."!(RW]*N_ %!+ P04    "  UB%58-N<5BS8#   6!P  &0   'AL
M+W=O<FMS:&5E=',O<VAE970R,BYX;6RE54UOVS@0O?M7#-2B)R'ZMF7'-A#'
M7>P>6@0-=HM%T0,MC2TB%*F25-S\^QU2MIH"KE%@+]+P8]Z\-^0,ET>EGTR#
M:.%[*Z19!8VUW2**3-5@R\R-ZE#2RE[IEED:ZD-D.HVL]DZMB-(XGD8MXS)8
M+_W<@UXO56\%E_B@P?1MR_3+!H4ZKH(D.$]\XH?&NHEHO>S8 1_1_MT]:!I%
M(TK-6Y2&*PD:]ZO@+EEL<K??;_B'X]&\LL$IV2GUY 9_U:L@=H108&4= J/?
M,]ZC$ Z(:'P[809C2.?XVCZC_^&UDY8=,WBOQ&=>VV85E '4N&>]L)_4\4\\
MZ2D<7J6$\5\X#GNS.("J-U:U)V=BT'(Y_-GW4QY>.92_<DA/#JGG/03R++?,
MLO52JR-HMYO0G.&E>F\BQZ4[E$>K:963GUV_9UIR>3#P@!H>&Z9Q&5G"=:M1
M=<+8#!CI+S"2%#XH:1L#[V6-]<\ $1$:6:5G5IOT*N(6JQO(DA#2.,VNX&6C
MRLSC9;^M$K[<[8S5="F^7A(\P.67X5RA+$S'*EP%5 D&]3,&ZW=ODFE\>X5L
M/I+-KZ'_YI%<Q;C,,,EOX$(FJ/" JMLVL',U"MP HWJKE*RXX,P7C]J#;1!D
MWZ)F5ND)DS5=?JGH2KJQ _ [J$)X!7Z5B]YB#7B.V%%$XR-63%2]\,AF]*1E
MKFH#7-:\8N2YF/Q+OH#N3@'="&QWA'"^%>Z3ND\R^7AFM9A\)"U<5JI%> MY
M&:9)0499AEF6DI$415C.YY/M#^:+R6=?N12#/1/,P:MTD4@S ;6DWK,V0#W-
M6))&:N#=FS)-DEO8>+W)+)S.IN&\*+Q)@<LB=F91%N$TSB=;EPQJ/X#[/?4C
MAZVZ0;_+%:%;S2M'@BJ^>H)><OMSP)[2,"3J7K4=DR^>P>S6 +:=4"^(CBWU
M:C.<6"<8@2=9'J;3#)(\#_-Y2932,,WB_Z=Y>SI9TE<F">78X8:S>19F^6 6
MM)+E<*D8HE>]BH[MX#NRH:B]M$/;&F?'IG\W]+H?VX<7XP/3!TXB!>[)-;Z9
M%0'HH0L/ ZLZW_EVRE(?]69##Q=JMX'6]TK9\\ %&)_"]7]02P,$%     @
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
MPEGBV3M*1T*3!^1PG2NWY^TO5";RB%$V666))4F\\(JG?:1292R*5YI7")Y
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
MTJ-&VF X2K9[SYCQ[6-RN^6G,TB$@#]?8\P.#1$@/^_9_P!02P,$%     @
M-8A56 Q=H%H(!@  @1H  !D   !X;"]W;W)K<VAE971S+W-H965T,S(N>&UL
M[5E;;]LV%'[WKSAP@2(!7%N2<VOB&'#<#DN*=$&3;0]%'QCIV"(JB1I)Q<U^
M_0XI67)<F?:"9GOI2R)1.M_YSIVT1@LAOZH84<.W-,G4>3?6.C\=#%088\I4
M7^28T9.9D"G3="OG Y5+9)$52I-!X'E'@Y3QK#L>V;4;.1Z)0B<\PQL)JDA3
M)A\O,!&+\Z[?72Y\XO-8FX7!>)2S.=ZB_CV_D70WJ%$BGF*FN,A XNR\._%/
MIT%@!.P;?W!<J)5K,*;<"_'5W%Q&YUW/,,($0VT@&/U[P"DFB4$B'G]5H-U:
MIQ%<O5ZB_V*-)V/NF<*I2/[DD8[/NR==B'#&BD1_$HM?L3+HT."%(E'V+RRJ
M=[TNA(72(JV$B4'*L_(_^U8Y8A>!H!((U@3\X0:!824PM(:6S*Q9[YAFXY$4
M"Y#F;4(S%]8W5IJLX9D)XZV6])23G!Y?4D BE' G6<2S.4RD9-D<*5!:C0::
M-)CW!F&%=E&B!1O0AG M,ATK>)]%&#V5'Q"SFEZPI'<1. '?8=B'H=^#P N&
MH&(F43E@A[750PL[W #;9FT/[A_A,HOX X\*EK097X(>M(.:@CM5.0OQO$L5
MI5 ^8'?\^I5_Y)TY*!_4E ]<Z.-KIE%REL =RE2!F+6%K(VT&_93D2#XWOWA
M&[\&O$E8IN N1F"1R&VU"0FDGO*/F=L.:0\IT)**D/S&,Z5E8<M2F3<7DFN-
M&>069V9D"2LO9!A3P0'+(E",U!**>3 5:<ZRQ]>O3@+_^$R!PK @!([*1*3M
MC=NR!W3\(\*8\1"EU1MQ20^$;'3J6")"6N8DFIP$RBA,[RGCEUG5 V1A;,@L
M8DX77)%!NGQ9"V*JN9J5/!@I,ZV#&H]I%=3,T/@AXM9TXY45=^Z%^U!DIK:,
MZ/MO9#Q%"2:AACUC2>"=K3K?.-TN^V?[/5B@)'7&D(0:K3J%CRQ%N.,ZL0@F
M)%3N!C;GTL8$)O.YQ+E9?&6,F<:24_?(8R)PU8</G( >8<_?AQM*3JKY3-M(
M3&..,\(AIUN[?BL="I,Z]$^LLCSAHW@HG7A<5>8U>ZRN#V#H]3S/@RL1$ZD^
M!4^1+IZ)'ES)/NP%^_"N"M2_5+*V0)J,HHZQJ=7:'AFX3)"U9*.@4XPEA9AB
M+8!]KUU\3Z /UW*)7>?BBF#'"N924 ?!E<07VCB 2G>9]45N,JOR4]G4-A5#
M*%)*7R#;PJ]]6Y/?,463 P8AJ\+0,<[IF8HH<EHTL,ADPLD2@LL37+J<)0FP
M0L="\K]-ME,?4:RJXS)U54$5L:ZQWS%!;(\O^;RNPQ_G\UK'$[=W5F5W=_N/
M]GIG/2]?TO7DH&QCYVP:(!&HFB2L-,F.[>>D;J6=TQV#JA]E(GNSJE%7 X$U
M$Z9J4:8W40>D86*B"9<:4SCP3FP=X[Q(RI9T^^8#1-3+"6*]&W<V=..^8U0>
MUJ/RT#G3/JZ9L3(@RXZSOC4I!Z4;=,82A0YR1S6YHYT'[BJQNSH>;=S<F-NX
M'=?<CI_M.#<_-^XV?B<UOQ,G3OM,^WQM4^A+&R\GWC-W;&]KMF]?8I/Y]@4H
M^UYS'/#<*4#[C-9]OUNL-3(M.-,M.)_]+RXS5DXUOA/'[I1:[7#+[;0W:K7+
MC;O%KJ"Q*WA6]W"TM2V(VVK3;\Y4OO/\,ZXW<V9GVLK$+;\^^EO=[(;8XN;F
MK.6[3T7-7GKRP'C"[C<D4XER9%',#R8/XR%M+KS1X.$):;>R+:2;J>>[)]05
ME5_;CMO5']V0S^TVS2STCUZB1?K.<?A<ULV4]+>,R4T]TBW6OF%NS7(WT.?
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
M\61^V/95VO*&I/NUQ+)#8BS#+YX(@BBJ#O&5SA^D[ _"#&N:8B3%?CB5O6I
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
M5,S5KSQN0K@JU8FE7FLGW8*##0:8.MXVXTM&)G $W83\'$:36EW#)JBW(<.
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
MRBK0^U)*LQ6L@_9?DOP!4$L#!!0    ( #6(55C<S:=2> (  )(%   9
M>&PO=V]R:W-H965T<R]S:&5E=#,U+GAM;)64WV_3,!#'W_M76&%"3(J6G^VZ
MTD9J-Q \#$W;@ ?$@Y-<&FN.76QG'?\]9R?-RN@J\1+[[+O/?2_)W7PKU8.N
M 0QY:KC0"Z\V9C,+ EW4T%!])C<@\*:2JJ$&3;4.]$8!+5U0PX,X#"=!0YGP
MLKD[NU'97+:&,P$WBNBV::CZO0(NMPLO\G8'MVQ=&WL09/,-7<,=F*^;&X56
M,%!*UH#03 JBH%IXRVBV2JV_<_C&8*OW]L16DDOY8(W/Y<(+K2#@4!A+H+@\
MPB5P;D$HXU?/](:4-G!_OZ-_=+5C+3G5<"GY=U::>N%-/5)"15MN;N7V$_3U
MC"VOD%R[)]EVODGJD:+51C9],"IHF.A6^M2_A[V :?A*0-P'Q$YWE\BIO**&
M9G,EMT19;Z39C2O51:,X)NQ'N3,*;QG&F>Q>T1+(+13 'FG.0?OD"_X*[^Z=
M<3H/#":QKD'1 U<=,'X%&,7D6@I3:_)!E%#^#0A0W2 QWDE<Q4>)5U"<D23R
M21S&R1%>,I2<.%[R?R7_6.;:*/Q+?AXJND.FAY&V<V9Z0PM8>-@:&M0C>-G;
M-]$D?']$<#H(3H_1LSOLQ++E0&1%C!.OGL4?$GL4=UCL_4LN*21VGC8N:0VD
MDAP;F(GU;(0?!)H<U/!1[",>_8LX(9/(3^.IW9S[T309+2V$BL+R%"EEFYNJ
MY=B;A6R%T>1=&H;DM%]>>C.]\XK\:)):O\A/$MR,3LCXPI_B&68:^VEZ00Z]
M]V"O3QI0:S<-;*5([5IF.!T&SK+KLV?W;EI=4[5F0A,.%8:&9^=CCZAN G2&
MD1O7=;DTV,-N6^/0!&4=\+Z2TNP,FV 8P]D?4$L#!!0    ( #6(55@(>M5E
MQ (  .H%   9    >&PO=V]R:W-H965T<R]S:&5E=#,V+GAM;(U4VV[;, Q]
MSU<07C$T@%';LG-QE@3H9=D*M%O1[O(P[$&QF42H+662TK1_/\I.7 ](@[U8
MI,1S>"B+'&^5?C0K1 O/92'-Q%M9NQX%@<E66')SIM8HZ62A=,DMN7H9F+5&
MGE>@L@A8&/:#D@OI3<?5WIV>CM7&%D+BG0:S*4NN7RZP4-N)%WG[C7NQ7%FW
M$4S':[[$![3?UW>:O*!AR46)T@@E0>-BXIU'HXO$Q5<!/P1N3<L&5\E<J4?G
M7.<3+W2"L,#,.@9.RQ->8E$X(I+Q9\?I-2D=L&WOV6=5[53+G!N\5,5/D=O5
MQ!MZD..";PI[K[:?<5=/S_%EJC#5%[9U+$L\R#;&JG(')@6ED/7*GW?WT (,
MPS< ; =@E>XZ4:7RBEL^'6NU!>VBB<T95:D5FL0)Z7[*@]5T*@AGI]?R":55
M6J"!TV]\7J#IC@-+S.X\R'8L%S4+>X,E8G"KI%T9^"ASS/\E"$A2HXOM=5VP
MHXQ7F)U!'/G 0A8?X8N;.N.*+_Z/.G^=SXW5]!Y^'ZJTYDD.\[@>&9DUSW#B
M41,8U$_H3=^_B_KAAR,JDT9E<HQ]^D ]EV\*!+6 EN)#,H\2'9;9OH-,45\9
MZQ+9%<)"%=2>0BY'';IY+.>HF]MW'];9@U^ 6YA=S[YV9D(*>G@Y+)7*#9Q
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
M0>T<:+U0RNX'+D'W+[3\%U!+ P04    "  UB%5865<S/(D"  #B!0  &0
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
M=4<QWH*RF\FZ%RV:=@Y:"(U35;M=X1@+TBC@]T((O7LQ ,-@//L74$L#!!0
M   ( #6(55B^2?_=3P,  & '   9    >&PO=V]R:W-H965T<R]S:&5E=#0S
M+GAM;*55WV_;-A!^]U]Q4(MB X3HMRT[MH$XZ; ]M B2;451](&6SA81BM1(
M*F[^^QTI6TLQSRBP%^E(WGWW?4?RN#PH_60:1 O?6B'-*FBL[1919*H&6V:N
M5(>25G9*M\S24.\CTVEDM0]J193&\31J&9?!>NGG[O5ZJ7HKN,1[#:9O6Z9?
M-BC4814DP6GB@>\;ZR:B];)C>WQ$^T=WKVD4C2@U;U$:KB1HW*V"FV2QR9V_
M=_B3X\&\LL$IV2KUY :_U:L@=H108&4= J/?,]ZB$ Z(:/QUQ S&E"[PM7U"
M_\5K)RU;9O!6B4^\MLTJ* .H<<=Z81_4X5<\ZBD<7J6$\5\X''WC *K>6-4>
M@XE!R^7P9]^.=?B1@/08D'K>0R+/\HY9MEYJ=0#MO G-&5ZJCR9R7+I->;2:
M5CG%V?5[IB67>P/WJ.&Q81KAI]_95J#Y>1E92N#<HNH(MAG TO\ 2U+XH*1M
M#+R7-=;? T3$;*27GNAMTHN(=UA=09:$D,9I=@$O&^5F'B_[<;E?;K;&:CH=
M7\\)'N#R\W#NQBQ,QRI<!70E#.IG#-;OWB33^/H"V7PDFU]"7S_2#:Q[@:!V
MP. !*R4K+CCSQYGF;(/PL6]1,ZLT,%G#'4I%A\2/Z<)ZCPTSO!I6N>@MUO#O
M(IQ3?I';>>5TA5U:V\#6W7;@AGCKL[SEB??$,:O/\-Z.O.LC;SSQ[HBW\9M7
M,5'UPB.;,9*6N:H-<%GSBE'D8O*98@'=H:0:5=AN">%TK-PG=9]D,E9S,?E(
M6KBL5(OP%O(R3)."C+(,LRPE(RF*L)S/)Z\JOIA\\CV <K!G@ME[E2X3:2:@
MEM1[U@:H.QI+TD@-O'M3IDER?=RG9!9.9]-P7A3>I,1E$3NS*(MP&N<3OXG4
MR !W.^IL#EMU@WY7*T*WFE>.!/6.Z@EZR>WW"7LJPU"H6]5V3+YX!K-K ]AV
M0KT@.K;4]<VP8YU@!)YD>9A.,TCR/,SG)5%*PS2+_Y_FTXDD?6624(T=;CB;
M9V&6#V9!*UD.YVY3]*KKT;;M?6\WE+67=FB X^SX?-P,7?,?]^'M^<#TGI-(
M@3L*C:]F10!ZZ.?#P*K.]]"MLM21O=G0$XC:.=#Z3BE[&K@$XZ.Z_AM02P,$
M%     @ -8A56!_.%F@M P  <@<  !D   !X;"]W;W)K<VAE971S+W-H965T
M-#0N>&ULC551;]LV$'[7KSBH1;$!AB51LF6GM@$G6;$.2)?%V?90](&6SI80
M2=1(*D[^_8Z4;"N=[>[%XI'W??=]LNXXVPGYI#)$#2]E4:FYFVE=7WF>2C(L
MN1J*&BLZV0A9<DVAW'JJELA3"RH+C_G^V"MY7KF+F=V[EXN9:'215W@O035E
MR>7K-19B-W<#=[_QD&\S;3:\Q:SF6URA_K.^EQ1Y!Y8T+[%2N:A XF;N+H.K
MZ\CDVX2_<MRIWAJ,D[403R;XG,Y=WPC" A-M&#@]GO$&B\(0D8Q_.D[W4-(
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
M^0SL=">8'KP9PW=X:3Q]U<-T0]<HM+R!UE>&#IO] SLX7,P6_P)02P,$%
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
M2D(RG'-"<\#P8N)=!.<1/%,"Y8P_"=[RO6N@7+FG]$'=?$TFGJ\LPBF.A8)
M\F.#9SA-%9*TX_L.U*MU*L']ZV?TSZ7STIE[Q/&,IG^11*PFWM #"5Z@=2IN
MZ?8+WCE4&AC3E)?_P78WU_= O.:"9CMA:4%&\NH3/>Z(V!,(1Z\(P)T /! (
M>J\(A#N!\%B!WDZ@5S)3N5+R$"&!IF-&MX"IV1)-791DEM+2?9*K=9\+)K\E
M4DY,Y]5Z [H <[+,R8+$*!?@(H[I.A<D7X(;FI*88 X^1E@@DO)/X%=P-X_
MQP^?P = <G!-TE2N(1]WA;1(X7;CG?;+2CM\17L P37-Q8J#JSS!B0[0E:[4
M_L!G?RZA%3'"<0>$P2\ ^C T&#0[7AP:Q*/CQ0.+-V&].F&)%_[_U?G[=RD+
MO@J<\6^FA:@4]<R*U.YRS@L4XXDGMP^.V09[TY]_#/K^;R8278)%CL T@GLU
MP3T;^G169IBBN$!/<CL3<L_@,2.%VI1,-+:%$YAE_ ?$,( _@= '"7HRY<G,
MBMN644=@&J-G-:-G5@HND@UF@G 5G/A1/IXX-FX,%<JP1%$/I\TT[,B4V>R3
M\G(.[/3T.9%I3K^>H[G0KUWH6UV8KTA1*/MCRH71^$I^M*>T=VC8S#1G<&"\
M:0XT&S^HC1]8C;^5*XI8O (H3V0P;^23O5"1:')C\(*[46?H[_\=KHA)HG_@
MU,LY0;#GN>;5L/9J:%\2E*H][AIG]YA] _^ *M,P S.:Q](]ALHRXI;PA_UI
MGXDLAF0&UF,F&JRJVVZ-+L$B1V :Y:.:\M&IGCTCEP2[!(L<@6D$!WY3>_G6
MJ+[!3,6NK*\5RUS%N+&&JE#41YU2?F<T.LA-N[*VS+A"TZG9*TN#=TGXJ\>"
M,@%T<2.I5OUM@](I6N0*3><>-MS#4V7^3I,KEEVB1:[0=):;TCZP%K9')W]H
M2GZ_?YC\3DMR5V@Z-4U1'MC+Z/^:_#/$57CR8]+?9<$]<XH6N4+3V6\*^.#L
M9.EO[15:L^P2+7*%IK/<]!B!O<DX-OW[QO0_K,OMREI3XPA-IZ;I8 )["W.Y
M)FFBXLR:P%:,UJ'E$BURA:;SU_1*P?!D">RT-W**%KE"TUENVJ/ VAQ,[SA>
MK%.0D@4V,F>7#L[ D^Q,C>^"[**M:7J/'@<V/0ZT]SC7*%[)(1F.ZH7$U?<U
M*5]'6'/;#MDVZIRB1:[0=#J;O@@&I\IMZ+0#<HH6N4+366XZ(&BM_=_*[3>D
M!Z^GMEVR-4OOT<' IH.!]@[F#TI37KUG)&^4VW:DUK'FM-EQA::SV#0[L'>R
MC';:U#A%BURAZ2PW30VT'TN\E=%VZ="2T4Z;$E=H%4O=O7-AV3TOR_-U#LK
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
MRN!(E"&YQ7@R2:8LA=2"'W?C_:"#P$7)6MV"K6XW02?C+147)/1?D< +?%M
MW? ))"T\M, GI\,#"WQZ.MSO$"-L#U%H^,(C?/\X!U^OY](<IF^VG:^I(SNU
MOB:OY(HF,'+P'I0@UN#$SY_Y?>^-3?6G))L\)=GTB<@>[$_4[D_4Q1YOBYD4
M.9WG!58Y-'6=M'5-%?E 685O!?%?V?:I=M$S+O3KLXXOHZ&[WE7_T,3W0O^A
MT:0S5+L0Q"9H9SP/9.JU,O4Z9=H>7=$>79L.O0._Y[[G[2E1&_5WC2)O7Z])
M9SB/D,+B[9@6_5:+_DE:X)L+0MB5Z&1X;.7V#W((\7;:$^S0Z/" 3?\C+-)1
M9(-6L<%3%!G>O5#.0>C[UR9JIY/'BCHX+,CH]9ZF%IM#3?\C*JNF[DZG@HHL
M38LH2<(KINK'MUUMN]!KTWSMK8^Q.ZV;R;\T=6N++_,R9Y(4L$!*[V* J8FZ
M7:PGBJ],/S3G"K?%##/LL$%H _R^X%QM)]I!V[/'?P!02P,$%     @ -8A5
M6-S]RXWJ @  * P  !D   !X;"]W;W)K<VAE971S+W-H965T-3$N>&ULM5==
M;YLP%/TK%I.F3>K"5YJD78+4I)M6:=VJM-L>JCTX<!-0P6:V$[I_/]L0%R*"
MVHF^!'_<>[CG^  WTX*R!QX#"/28I83/K%B(_-RV>1A#AOF YD#DSIJR# LY
M91N;YPQPI).RU/8<9V1G."%6,-5K-RR8TJU($P(W#/%MEF'V=PXI+6:6:^T7
MELDF%FK!#J8YWL MB!_Y#9,SVZ!$20:$)Y0@!NN9=>&>+UR=H"-^)E#PVA@I
M*BM*']3D*II9CJH(4@B%@L#RLH,%I*E"DG7\J4 M<T^56!_OT3]K\I+,"G-8
MT/17$HEX9DTL%,$:;U.QI,47J B=*KR0IES_HJ**=2P4;KF@694L*\@24E[Q
M8R5$+<$='4GPJ@3O,&%X),&O$GQ-M*Q,T[K$ @=31@O$5+1$4P.MC<Z6;!*B
MCO%6,+F;R#P1W#$< 5I"",D.KU+@)^B;-,^[2Q X2?E[] %=A"'=$L%K4>C^
M&K(5L-]R>Z&+!(86E(1 !,/Z?)8)?S!A4UO(6M4=[;"J:U[6Y1VIR_70-24B
MYN@3B2!J MB2I&'J[9G.O4[$2P@'R'=/D.=X?DM!B^>G>QWE^$9X7^,-C^ 9
MV;X3Z-2I$T8]Y><\QR',+/D8<V [L(*W;]R1\[&-8T]@#<9#PWBHT?W_M=K]
M5YF!K@1DO%6)89]*] 364.+4*'':>?9W5. 4":T'>]*CC7,)Y#H:2;V3=X$S
M4 ;<U<FT1XU,5*/*D:ER]#R'WA6TTZ&=,"\]EY[ &HS'AO'X=1TZ[E.)GL :
M2DR,$I.^'#II]=Z!0=N#_':#GIDBSYYIT)A!]TNT$^BE!],36(.SZSQ]L)W7
M-6F%WY,8?:$UU:BU+VY?1JV0#DSHC@^L>B1L<N!5N]9S20]N="O*D6Z5RJ;$
MK)IV]T(W>0?K<]4&ZU[N":;LH:\QVR2$HQ36$M(9C.5KGI5M:3D1-->=W8H*
M^2#H82Q;>6 J0.ZO*17[B;J!^7,0_ -02P,$%     @ -8A56!B$D'"+ @
M(@<  !D   !X;"]W;W)K<VAE971S+W-H965T-3(N>&ULK55=;YLP%/TK%JNF
M5DK#-TT[@M0FFK:'3572;@_3'ARX!*O&9K9)NG\_&RA+&M*UTE[ '_<<GW-M
M7\=;+AYD :#08TF9G%J%4M65;<NT@!++,:^ Z9F<BQ(KW15K6U8"<-: 2FI[
MCA/9)2;,2N)F[%8D,:\5)0QN!9)U66+Q^P8HWTXMUWH:6)!UH<R G<057L,2
MU'UU*W3/[EDR4@*3A#,D()]:U^[5+#+Q3< W ENYTT;&R8KS!]/YG$TMQP@"
M"JDR#%C_-C #2@V1EO&KX[3Z)0UPM_W$_K'QKKVLL(09I]])IHJI-;%0!CFN
MJ5KP[2?H_(2&+^54-E^T[6(="Z6U5+SLP%I!25C[QX]='G8 ;G $X'4 [[4
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
M,2?5F6$W,;)Q]K"4!LW&#2O\?H"R 7A_):793>P&PQ<I^PM02P,$%     @
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
MYNI%!ZX#5/^*,?E6T8]&^Q\A^0=02P,$%     @ -8A56!;,4$+D 0  % 0
M !D   !X;"]W;W)K<VAE971S+W-H965T-3@N>&ULC91A:]LP$(;_BM!@;#!B
MQV[3DMF&I&%LL$%H6?=A[(-B7V)1R?)TE[KY]Y5DQV20AGVQ=-*]C]^S3LXZ
M8Y^P!B#VHE6#.:^)VGD485F#%C@Q+31N9VNL%N1"NXNPM2"J(-(J2N)X%FDA
M&UYD86UMB\SL2<D&UI;A7FMA#TM0ILOYE!\7[N6N)K\0%5DK=O  ]+-=6Q=%
M(Z62&AJ4IF$6MCE?3.?+U.>'A$<)'9[,F:]D8\R3#[Y5.8^](5!0DB<(-SS#
M'2CE0<[&WX')QU=ZX>G\2/\2:G>U; 3"G5&_9$5USF\YJV K]HKN3?<5AGJN
M/:\T"L.3=7UN<LU9N4<R>A [!UHV_2A>AN]P*IB](4@&01)\]R\*+E>"1)%9
MTS'KLQW-3T*I0>W,R<8?R@-9MRN=CHKOX$JJV (1"-F'%9"0"C]F$3FX3XG*
M ;3L0<D;H!64$Y9./[$D3M)_Y9'S-!I+1F-)X*7_9>SW8H-DW1'^.>>L)UV=
M)_FVGF,K2LBYZUL$^PR\>/]N.HL_7_"9CC[32_3>)R.P^IRSR]H;=@!AD4UC
MIDU#-;+DBE7B@.=\12>'[._+#V%WLD&F8.O@\>3&=9CM>[ /R+3AW#>&7!>%
M:>VN+5B?X/:WQM Q\*TT_@B*5U!+ P04    "  UB%58=U\*0C8#   O#@
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
MT7LDRF*P;"A>V/+H@2M=;-G'3-?/(,P$/;[B7.T;9H&Z(H_^ E!+ P04
M"  UB%58$I%8X*4"  !T!P  &0   'AL+W=O<FMS:&5E=',O<VAE970V-"YX
M;6RM55%OVC 0_BM65DVMM!$2 G0=1"I-J^VA$BKJ]C#MP20'L>K8F>U ^^]W
M=D(&%% G]26Q+_=]=]\YOANMI7K2.8 ASP47>NSEQI17OJ_3' JJ.[($@5\6
M4A74X%8M?5TJH)D#%=P/N]V!7U FO'CD;%,5CV1E.!,P541714'5RP2X7(^]
MP-L8'M@R-];@QZ.2+F$&YK&<*MSY+4O&"A":24$4+,;>=7"5]*V_<_C!8*VW
MUL0JF4OY9#??L['7M0D!A]18!HJO%=P YY8(T_C3<'IM2 O<7F_8[YQVU#*G
M&FXD_\DRDX^]2X]DL* 5-P]R_0T:/2[!5'+MGF1=^_:''DDK;631@#&#@HGZ
M39^;.FP!@L$10-@ PGU = 30:P"]MP*B!A"YRM127!T2:F@\4G)-E/5&-KMP
MQ71HE,^$/?:94?B5(<[$MT7)Y0L F8" !3-DRJG0Y#P!0QG7%^0S>9PEY/SL
M@IP1)L@]XQS/2X]\@]$MAY\VD29UI/!(I" D]U*87)-;D4&V2^!CVFWNX2;W
M27B2,8&T0WK!)Q)VP]Z!A&[>#@\/P).WPX,3:GKM2?0<7^__3N+7]5P;A=?C
M]Z&2UY3184K;,JYT25,8>]@3-*@5>/''#\&@^_50N=Z3+'DGLIU21FTIHU/L
M\>TS=D4-&OL2IP8R8B3>&9/F3"P);.J<XM^HV+PRQ_[G.LBE"V+;YRJ..L.1
MO]JNV2&?8-<GJ7WZVSZMQXZ^?JNO?U+?K"I+#MA\#>6[,E IV@Z)Z;]*=-#Y
MLB?FM<^P$^V).>U3R_&W^E$!:NGZNL9,*V'JZ]U:V]%Q[3KFGGV"(Z6> /]H
MZGET3]62H5X."Z3L=H:8EZI[?+TQLG1=;RX-]E"WS'$L@K(.^'TAI=EL;(!V
MT,9_ 5!+ P04    "  UB%58V_C($'\"  #2!@  &0   'AL+W=O<FMS:&5E
M=',O<VAE970V-2YX;6RM55U/VS 4_2M7&9I  O)5RL322)3L@P<&HF-[F/;@
M)K>-A6-GMM.R?S_;2;,";=4'7A)_W'-\S[5]G"R%?%0EHH:GBG$U\DJMZPO?
M5WF)%5&GHD9N9F9"5D2;KIS[JI9("@>JF!\%P="O".5>FKBQ.YDFHM&,<KR3
MH)JJ(O+O&)E8CKS06PW<TWFI[8"?)C69XP3U0WTG3<_O60I:(5=4<) X&WF7
MX44VL/$NX ?%I5IK@U4R%>+1=JZ+D1?8A)!AKBT#,;\%7B%CELBD\:?C]/HE
M+7"]O6+_[+0;+5.B\$JPG[30Y<C[X$&!,](P?2^67['3<V;Y<L&4^\*RBPT\
MR!NE1=6!3085Y>V?/'5U6 .$PRV J -$+P&#+8"X \3[ @8=P)7:;Z6X.F1$
MDS218@G21ALVVW#%=&@CGW*[[1,MS2PU.)W>ZA(EW-8HB:9\#M<\%Q4>PS=S
MX@XSU(0R=00G,#'GK6@8@IC!+LP)/$PR.#PX@@.@'+Z7HE&$%RKQM<G6KNGG
M76;C-K-H2V9A!#>"ZU+!)UY@\9S -S)[K=%*ZSC:R9AA?@IQ> Q1$,4;$KK:
M'QYM@&?[P\,=:N)^YV+'%V_AVW='?EU.E9;F?OW>M ?M&H/-:UC/N5 UR7'D
M&5-1*!?HI>_?A</@XZ;ZO259]D9DSVH[Z&L[V,6>?C%^"<:5%&GK*_K*$J50
M;SS-+>.98[1FNTC/$G^Q7I[7$?'P>4CV.B2,SON85HN_=MLKE'/GF@IRT7#=
M7H9^M#?F2^='+\;'QK!;?_U/T[K]#9%SRA4PG!G*X/3<9"1;!VT[6M3.4Z9"
M&X=RS=(\.BAM@)F?":%7';M _XRE_P!02P,$%     @ -8A56& <8W[$ @
MA @  !D   !X;"]W;W)K<VAE971S+W-H965T-C8N>&ULK59=;],P%/TK5IC0
M)D'ST20;HXVT-DSL8=*T,7A /+C);6O-L8/M?HQ?C^VD(2U9*-(>VMC./<?W
M''_<C#9</,DE@$+;@C(Y=I9*E9>N*[,E%%@.> E,OYES46"ENV+ARE( SBVH
MH&[@>;%;8,*<9&3'[D0RXBM%"8,[@>2J*+!XG@#EF['C.[N!>[)8*C/@)J,2
M+^ !U&-Y)W3/;5AR4@"3A#,D8#YVKOS+-#;Q-N K@8ULM9%1,N/\R71N\K'C
MF82 0J8, ]:/-4R!4D.DT_A9<SK-E ;8;N_8KZUVK66&)4PY_49RM1P[%P[*
M88Y75-WSS6>H]42&+^-4VG^TJ6*CR$'92BI>U&"=04%8]<3;VH<6P(]?  0U
M(#@$A"\ AC5@>"P@K &A=::28GU(L<+)2/ -$B9:LYF&-=.BM7S"S+(_**'?
M$HU3R0W+> 'H"]Z"1*<I*$RH/$/OT>-#BDY/SM )(@S=$DKU*LF1J_2<!NEF
M-?^DX@]>X/<#=,N96DKTB>60[Q.X.MDFXV"7\23H94PA&Z"A_PX%7C#L2&AZ
M/#SH@*?'P_T>-</&_Z'E&Q[C__>KF51"'X4?74971&$WD;D>+F6),Q@[^OQ+
M$&MPDK=O_-C[V&72:Y*EKT2V9V#8&!CVL2?7D M,D<);)+""+N,J M^S#.8>
M7"?>P*S>NNW(45'IOZ+V-$2-AJA7PQ271&%*?D&.,-._@@ME>WP- NG+71]"
MNT^,S'(E2BZA\S#VSQ.A9\"B"SCM!?[O?G@ELCTOX\;+N%?C3<LH_*P+E.HT
MJB*)6LL8Q <;H@JY:(=<#,X/]L/?0>&'072P'=S6_5R 6-@Z)U'&5TQ5%U\S
MVI32*UM!#L8GNL16%?$/356?;[%8$"81A;FF] ;G6IJH:E[54;RT56#&E:XI
MMKG4GPD@3(!^/^=<[3IF@N;#(_D-4$L#!!0    ( #6(55@B36=V+@,  (T*
M   9    >&PO=V]R:W-H965T<R]S:&5E=#8W+GAM;*U676^;,!3]*Q:KIDYJ
M"YBOI$N0VK)J?:@4->WV,.W!A9L$%7!F.TGW[V<;2@D0%$U]23"<<WS.M0UW
MLJ/LA:\ !'K-LX)/C940ZTO3Y/$*<L(OZ!H*^61!64Z$'+*ER=<,2*))>69B
MR_+-G*2%$4[TO1D+)W0CLK2 &4-\D^>$_;V&C.ZFAFV\W7A(ERNA;ICA9$V6
M, ?QM)XQ.3)KE23-H> I+1"#Q=2XLB^CL<)KP(\4=KQQC5229TI?U. NF1J6
M,@09Q$(I$/FWA1O(,B4D;?RI-(UZ2D5L7K^IW^KL,LLSX7!#LY]I(E938V2@
M!!9DDXD'NOL.51Y/Z<4TX_H7[2JL9:!XPP7-*[)TD*=%^4]>JSHT"+9_@( K
M FX3W ,$IR(XQQ+<BN#JRI11=!TB(D@X872'F$)+-76ABZG9,GY:J&6?"R:?
MII(GPKLBICF@1_(*')U&($B:\2_H',WE!DLV&2"Z0+>0 ",9(D6"YH((0.\T
M-&-TF^I=<(Z>YA$Z/?F"3E!:H,<5W7!)X1-32*=J/C.N7%V7KO !5S9&][00
M*XZ^%0DD^P*FC%CGQ&\YK_&@8@3Q!7+L,X0M[/08NCF>CGOHT?%T>R"-4Z^:
MH_6< WK_L3B_KIZY8/*8_>Y;CG(ZMW\Z]>JYY&L2P]20[Q8.; M&^/F3[5M?
M^TKYD6+1!XGME=FMR^P.J8=5:<_D060,"M%7N5+!TPKJ';L-;3?PY1;;-DO2
M16$[<.U]5-1%N=A5^VW;$\*K0WC'A9!O0Y QDKX4I83?F/G<PR.OE:('Y?IC
MMY6BBQHUZK&7P:\S^(,9]+X>7 :_,ZD=V.U5Z(*<(!BW['=! 6Z ]OP'M?_@
M&/]#*Q#TK, (MP+T@$:= %V0[=C]_D>U_]&@_YO#A1]U9_/E 6@9[Z*PYV&K
MY;R+<L>!=<#[N/8^'O0>#11]W#EPLNA^T#+?A_*"UN:*NJAQXVB4ULW&ASH'
MMM0-#T<QW12B_);5=^N>ZDJW$JW[U[+7*ENC=YFR4;LG;)D6'&6PD)+612 =
ML;+Y*0>"KG4[\$R%;"[TY4KVB\ 40#Y?4"K>!FJ"N@,-_P%02P,$%     @
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
MV^@6K6D$RI9V5*XE*XQ!V+6*1])QIH_-Z+ <]QUA*9J6\B?K3GJK"#1M+9X
MC),XT:B^P;0UY:/U/WTI,8R")#RQ;"0LBJ))=F+82%@:!*$W;E<VV)7]?^FR
M[Y-CVK.1TV:^'_@GLI9C@>DD#*-3_:.!<9J%IPGC'LP9V$(V=EY3**?CNF^F
MP^XP$GZQD]#)_@)'Q7ZR^TW3SYG?J-PPS*@:UDCI7:?XQ<M^=NL76K1VFGD0
M&F<C>UGAN O2!.#]M1#Z>6$>, S0\_\ 4$L#!!0    ( #6(55@\"CWK  (
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
MN\G[="?3:O:LAU8]9LD?ES*YDOGHT+(RIPXM)(PA81P)$R"8H7+0J1R@LV>
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
M@".V1M^H*_I4K&@30],OR%VD)L:N+<W@\\Z5QA*L(\VXD68\*,TC[(!N 2V
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
M1/QIL15:G'"RR[>C7@GG),D/MQBM,,T XO\U(?QXDG50[4?W_@-02P,$%
M  @ -8A56(9RY!S< @  -PL  !D   !X;"]W;W)K<VAE971S+W-H965T-S<N
M>&ULM59M;]HP$/XK5E9-K;0UD(07=2$2-*M::4P(UNU#M0\F.8A5)\YL ^V_
MG^V$#%!@5,N^)#[[GL=W3WS.^1O&GT4"(-%+2C,QL!(I\QO;%E$"*1;7+(=,
MK2P83[%4)E_:(N> 8P-*J>VT6ET[Q22S M_,37C@LY6D)(,)1V*5IIB_CH"R
MS<!J6]N)*5DF4D_8@9_C)<Q /N83KBR[8HE)"ID@+$,<%@-KV+X)^]K?.'PG
ML!$[8Z0SF3/VK(V'>&"U=$! (9*: :O7&FZ!4DVDPOA5<EK5EAJX.]ZRWYG<
M52YS+."6T1\DELG ZELHA@5>43EEFWLH\^EHOHA189YH4_AVU8[12DB6EF!E
MIR0KWOBEU&$'T.X> 3@EP#D$>$< ;@EPSP5X)< SRA2I&!U"+''@<[9!7'LK
M-CTP8AJT2I]D^K//)%>K1.%D, 6*)<1H@KE\1=\XS@0V7T2@RQ D)E1<H8_H
M<1:BRXLK=(%(AL:$4NWAVU)%H'GLJ-QM5.SF'-FM[: QRV0BT.<LAGB?P%:A
M5_$[V_A'SDG&$*)KY+8_(*?EN#4!W9X/=VK@X?GP]HELW.IKN(;/.\+W%6OI
M,453LJ" AD*PB)@Y]#2&= [\9YWH)TGUQ7$C<AS!P%(W@P"^!BMX_Z[=;7VJ
M$ZQ)LK ALCTQO4I,S["[;S_:3U^4+WJ0D(I:0;TF!6V2+&R(;$_03B5HY^3I
M'*9LE4F48Q+7B5: ^P:L_S;KH'7=\>WUKA9U/KU]G_ TSU[DW2KR[GEU-4L8
MDR1;HEG.N!3H3F44_[W 3K*_]3PT218V1+:G:J]2M?>_"JS7I*!-DH4-D>T)
MVJ\$[?]+@?5K"L,]*+ S?,(Z'^^@P.R=EB(%OC2MF4"1#K#X.U>S5?<W-$W/
MP?Q(=85%$_>'IF@IQY@OB3HK%!:*4MT#JO!YT:85AF2Y:5SF3*HVR P3U=D"
MUPYJ?:%J>6OH#:I>.?@-4$L#!!0    ( #6(55@C6.63OP0  (0;   9
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
MO1HX/8=$L* 9UX]B_0<4AMJ&+Q1<V5^R+F(]AX29TB(NP*@@9DG^3U^+1.P
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
ME'5='H:UNU9 ^P2WOE?*'@/?ZM-%E?\%4$L#!!0    ( #6(55@)Z=4M, ,
M "03   -    >&PO<W1Y;&5S+GAM;-U8T6[:,!3]E<A=IU::&B!K2E9 VI J
M3=JF2N5A;Y4A#EAR[,PQ'?3KYQN'$*AOU_5A@P65V/?DG'MLW]1N!Z59"W:W
M8,P$JUS(<D@6QA0?PK"<+5A.RPM5,&F13.F<&MO5\[ L-*-I":1<A+U.)PYS
MRB49#>0RO\E-&<S44IHAB9M0X&Z?TR'IQN])X.3&*F5#<G_V]L=2F>LW@;N?
MO#LYZ=R?7^_'SRK@G(1>T<L7B%YT<%V+8=+QBZ2?4<:$KW:%MT*_(_8]Q-.&
M=XK1$F^^%A,Z%3FL5W(TR)3<+FA$7,"JTYP%#U0,R9@*/M4<6!G-N5B[< \"
M,R64#HRM))NN"Y'RT<%=UX,BJW5R+I6N<KL,[GM:/[X';'I@D O1&.P1%Q@-
M"FH,T_+&=JJ'J^ 3**C;DW5A'<XU77=[EV1+J&XVR53IE.DF39=L0J.!8!G8
MT7R^@+M110B@,2JWC933N9*T\K!AU TK.V-"W,$;^#W;T5YEK77KP*K)IFD-
MU4TGXSJ@WU9SVFW9WJMT@X(_*/-I:8<CJSX4-KO5+..KJK_*&@.8>A=7IT4A
MUA\%G\N<N<&_..%H0#>\8*$T?[39H%1F-L T"1Z8-GS6COS4M)BPE=F4TRK#
M/?>.T//?G><YDTQ3T39M:_^09_G5CNLMZU]XKGZM[#OVFHRN#M]CO4T?NLGX
M&$P>Q7+WC\%D<I FPWH#;YT2=LX(332 L]B0?(.3G=@F#:9++@R7=6_!TY3)
M)T<%*V_HU/X)L*-OGT]91I?"3!IP2+;MKRSERSQIGKJ%B:B?VK:_P/"Z<7,0
MM+FX3-F*I>.ZJ^?3JAG8ALU:7T#81VZJRX]@'(?Y$<"P/)@#C.-86)[_:3Q]
M=#P.P[SUO4@?Y?11CF/YD''UP?+X.8F]_"--DBB*8VQ&QV.O@S$V;W$,/WXU
MS!LPL#R0Z<_F&E]MO$*>KP-L39^K$&RD>"5B(\7G&A#_O $C2?RKC>4!!K8*
M6.U ?G\>J"D_)XI@53%OV!N,(TF"(5"+_AJ-8V1V8OCXUP=[2Z(H2?P(8'X'
M480A\#;B".8 /&!(%%7[X-Y^%&[VJ7#[?['1+U!+ P04    "  UB%58EXJ[
M',     3 @  "P   %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6
M!/D!5J(/V!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV
M)8]ISI%"KM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA<UYVE/=LO3T%O
M@*\Z3'%":4A+,P[PS=)_,O?S##5%Y4HCE5L:>-/E_G;@2=&A(E@6FD7)TZ(=
MI7\=Q_:0T^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0    (
M #6(55@1G_A\U@4  /<T   /    >&PO=V]R:V)O;VLN>&ULQ9M;3QLY%(#_
MBI4G*G4W9*X4 1(%NHN$2I:@OE9FQB$6,W9J>T+37[_'$UCL9'JT+X<\P5SS
MY?CR^=C.R;,V3P]:/[&?;:/LZ6CAW/)X/+;50K3<_JF70L&5N38M=W!H'L=V
M:02O[4((US;CY/"P&+=<JM'9R>N[IF8<'F@G*B>U@I/^Q#<IGNW;=7_(5M+*
M!]E(MSX=]?\W8L1:J60K?XGZ='0X8G:AG__61O[2RO%F5AG=-*>CR>;"-V&<
MK'9.SSSD/7^P_1G''^XX@)R.BD-XX5P:Z_H[^O=S8%P)N'ESU#G]139.F$ON
MQ%]&=TNI'OUKX%N,@Z_1Q^'U[R:(Q^;_A%'/Y[(2E[KJ6J'<)HY&-!Y0V85<
MVA%3O!6GHPN]$L9_'_B ZWKSW1Q !9$RQQ(NF.NZQZ-#.>]JZ=BUVCP,5P.L
M!,%*:+$NX%@WLH9/K]EGWG!5"=:7K T 4P0PW1L@.YCR #)#(+-WA)QY"/^
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
MQI=\-O\?_?HW4$L! A0#%     @ -8A56 =!36*!    L0   !
M     ( !     &1O8U!R;W!S+V%P<"YX;6Q02P$"% ,4    "  UB%58'S]W
M5.X    K @  $0              @ &O    9&]C4')O<',O8V]R92YX;6Q0
M2P$"% ,4    "  UB%58F5R<(Q &  "<)P  $P              @ ', 0
M>&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0    ( #6(55@5 KK"3 @  +8U
M   8              " @0T(  !X;"]W;W)K<VAE971S+W-H965T,2YX;6Q0
M2P$"% ,4    "  UB%58BJ8S4#("  "E!0  &               @(&/$
M>&PO=V]R:W-H965T<R]S:&5E=#(N>&UL4$L! A0#%     @ -8A56,WQG4D7
M!P  WR$  !@              ("!]Q(  'AL+W=O<FMS:&5E=',O<VAE970S
M+GAM;%!+ 0(4 Q0    ( #6(55BDNC F 0,  "<+   8              "
M@40:  !X;"]W;W)K<VAE971S+W-H965T-"YX;6Q02P$"% ,4    "  UB%58
M9_7>O5\&  #$'   &               @(%['0  >&PO=V]R:W-H965T<R]S
M:&5E=#4N>&UL4$L! A0#%     @ -8A56+-,!>\9!@  MR@  !@
M     ("!$"0  'AL+W=O<FMS:&5E=',O<VAE970V+GAM;%!+ 0(4 Q0    (
M #6(55C"3+;19 (  ,T%   8              " @5\J  !X;"]W;W)K<VAE
M971S+W-H965T-RYX;6Q02P$"% ,4    "  UB%58>0@0U:H'  !Y(@  &
M            @('Y+   >&PO=V]R:W-H965T<R]S:&5E=#@N>&UL4$L! A0#
M%     @ -8A56,TLZH6%%   JC@  !@              ("!V30  'AL+W=O
M<FMS:&5E=',O<VAE970Y+GAM;%!+ 0(4 Q0    ( #6(55@N1/_@C00  ,P,
M   9              " @91)  !X;"]W;W)K<VAE971S+W-H965T,3 N>&UL
M4$L! A0#%     @ -8A56! ]\UFV @  C@8  !D              ("!6$X
M 'AL+W=O<FMS:&5E=',O<VAE970Q,2YX;6Q02P$"% ,4    "  UB%58N19"
M:[8"  #D!0  &0              @(%%40  >&PO=V]R:W-H965T<R]S:&5E
M=#$R+GAM;%!+ 0(4 Q0    ( #6(55C96@=X]P(  ,$&   9
M  " @3)4  !X;"]W;W)K<VAE971S+W-H965T,3,N>&UL4$L! A0#%     @
M-8A56-[5P%BQ P  \0@  !D              ("!8%<  'AL+W=O<FMS:&5E
M=',O<VAE970Q-"YX;6Q02P$"% ,4    "  UB%58VQLG0VT%  !]#0  &0
M            @(%(6P  >&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;%!+ 0(4
M Q0    ( #6(55C^@Z!^>@(  /P%   9              " @>Q@  !X;"]W
M;W)K<VAE971S+W-H965T,38N>&UL4$L! A0#%     @ -8A56&X!N3R/ @
MH 4  !D              ("!G6,  'AL+W=O<FMS:&5E=',O<VAE970Q-RYX
M;6Q02P$"% ,4    "  UB%586B\+7!4"  # !   &0              @(%C
M9@  >&PO=V]R:W-H965T<R]S:&5E=#$X+GAM;%!+ 0(4 Q0    ( #6(55A:
M;_-GC0,  &@(   9              " @:]H  !X;"]W;W)K<VAE971S+W-H
M965T,3DN>&UL4$L! A0#%     @ -8A56%I6VJU0 @  ;@4  !D
M     ("!<VP  'AL+W=O<FMS:&5E=',O<VAE970R,"YX;6Q02P$"% ,4
M"  UB%58"1X",\\&  "Q#P  &0              @('Z;@  >&PO=V]R:W-H
M965T<R]S:&5E=#(Q+GAM;%!+ 0(4 Q0    ( #6(55@VYQ6+-@,  !8'   9
M              " @0!V  !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL4$L!
M A0#%     @ -8A56'&)S[U_ P  (@@  !D              ("!;7D  'AL
M+W=O<FMS:&5E=',O<VAE970R,RYX;6Q02P$"% ,4    "  UB%58I-=,4R0'
M  !K%P  &0              @($C?0  >&PO=V]R:W-H965T<R]S:&5E=#(T
M+GAM;%!+ 0(4 Q0    ( #6(55B/^;+\)P8  ) .   9              "
M@7Z$  !X;"]W;W)K<VAE971S+W-H965T,C4N>&UL4$L! A0#%     @ -8A5
M6'$00I%9 P  R0<  !D              ("!W(H  'AL+W=O<FMS:&5E=',O
M<VAE970R-BYX;6Q02P$"% ,4    "  UB%58C]GVUP<#   G!P  &0
M        @(%LC@  >&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;%!+ 0(4 Q0
M   ( #6(55@Z[?Z)&@\  ' G   9              " @:J1  !X;"]W;W)K
M<VAE971S+W-H965T,C@N>&UL4$L! A0#%     @ -8A56*H_UPG  @  ,@8
M !D              ("!^Z   'AL+W=O<FMS:&5E=',O<VAE970R.2YX;6Q0
M2P$"% ,4    "  UB%58K PU7-T"  !.!@  &0              @('RHP
M>&PO=V]R:W-H965T<R]S:&5E=#,P+GAM;%!+ 0(4 Q0    ( #6(55A609SU
M.P,  /L-   9              " @0:G  !X;"]W;W)K<VAE971S+W-H965T
M,S$N>&UL4$L! A0#%     @ -8A56 Q=H%H(!@  @1H  !D
M ("!>*H  'AL+W=O<FMS:&5E=',O<VAE970S,BYX;6Q02P$"% ,4    "  U
MB%58I5;&G=P5  #L00  &0              @(&WL   >&PO=V]R:W-H965T
M<R]S:&5E=#,S+GAM;%!+ 0(4 Q0    ( #6(55CI'LI[K0(  %<&   9
M          " @<K&  !X;"]W;W)K<VAE971S+W-H965T,S0N>&UL4$L! A0#
M%     @ -8A56-S-IU)X @  D@4  !D              ("!KLD  'AL+W=O
M<FMS:&5E=',O<VAE970S-2YX;6Q02P$"% ,4    "  UB%58"'K59<0"  #J
M!0  &0              @(%=S   >&PO=V]R:W-H965T<R]S:&5E=#,V+GAM
M;%!+ 0(4 Q0    ( #6(55A3?/V4SP(  %<&   9              " @5C/
M  !X;"]W;W)K<VAE971S+W-H965T,S<N>&UL4$L! A0#%     @ -8A56'"?
M0'*A @  GP4  !D              ("!7M(  'AL+W=O<FMS:&5E=',O<VAE
M970S."YX;6Q02P$"% ,4    "  UB%588X_:+(T#   7"0  &0
M    @($VU0  >&PO=V]R:W-H965T<R]S:&5E=#,Y+GAM;%!+ 0(4 Q0    (
M #6(55A95S,\B0(  .(%   9              " @?K8  !X;"]W;W)K<VAE
M971S+W-H965T-# N>&UL4$L! A0#%     @ -8A56%H33AE< @  8P4  !D
M             ("!NML  'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6Q02P$"
M% ,4    "  UB%58/+S:KY($   D"P  &0              @(%-W@  >&PO
M=V]R:W-H965T<R]S:&5E=#0R+GAM;%!+ 0(4 Q0    ( #6(55B^2?_=3P,
M & '   9              " @1;C  !X;"]W;W)K<VAE971S+W-H965T-#,N
M>&UL4$L! A0#%     @ -8A56!_.%F@M P  <@<  !D              ("!
MG.8  'AL+W=O<FMS:&5E=',O<VAE970T-"YX;6Q02P$"% ,4    "  UB%58
M+S'VJ:4$  "D"0  &0              @($ Z@  >&PO=V]R:W-H965T<R]S
M:&5E=#0U+GAM;%!+ 0(4 Q0    ( #6(55ADF_U_<P,  *('   9
M      " @=SN  !X;"]W;W)K<VAE971S+W-H965T-#8N>&UL4$L! A0#%
M  @ -8A56 \&IB ]!     L  !D              ("!AO(  'AL+W=O<FMS
M:&5E=',O<VAE970T-RYX;6Q02P$"% ,4    "  UB%58X9K+U?\$  #](
M&0              @('Z]@  >&PO=V]R:W-H965T<R]S:&5E=#0X+GAM;%!+
M 0(4 Q0    ( #6(55ANG[M<FP,  )X0   9              " @3#\  !X
M;"]W;W)K<VAE971S+W-H965T-#DN>&UL4$L! A0#%     @ -8A56+ =;$LN
M P  OPL  !D              ("! @ ! 'AL+W=O<FMS:&5E=',O<VAE970U
M,"YX;6Q02P$"% ,4    "  UB%58W/W+C>H"   H#   &0
M@(%G P$ >&PO=V]R:W-H965T<R]S:&5E=#4Q+GAM;%!+ 0(4 Q0    ( #6(
M55@8A)!PBP(  "('   9              " @8@& 0!X;"]W;W)K<VAE971S
M+W-H965T-3(N>&UL4$L! A0#%     @ -8A56"()2?O9 @  20@  !D
M         ("!2@D! 'AL+W=O<FMS:&5E=',O<VAE970U,RYX;6Q02P$"% ,4
M    "  UB%58^_=_%',"  "=!@  &0              @(%:# $ >&PO=V]R
M:W-H965T<R]S:&5E=#4T+GAM;%!+ 0(4 Q0    ( #6(55CJ=+TTH ,  (H1
M   9              " @00/ 0!X;"]W;W)K<VAE971S+W-H965T-34N>&UL
M4$L! A0#%     @ -8A56,:PRWWM P  YA@  !D              ("!VQ(!
M 'AL+W=O<FMS:&5E=',O<VAE970U-BYX;6Q02P$"% ,4    "  UB%58>=F!
M0]("   O"   &0              @('_%@$ >&PO=V]R:W-H965T<R]S:&5E
M=#4W+GAM;%!+ 0(4 Q0    ( #6(55@6S%!"Y $  !0$   9
M  " @0@: 0!X;"]W;W)K<VAE971S+W-H965T-3@N>&UL4$L! A0#%     @
M-8A56'=?"D(V P  +PX  !D              ("!(QP! 'AL+W=O<FMS:&5E
M=',O<VAE970U.2YX;6Q02P$"% ,4    "  UB%58NZ=F_/0"  !Q"   &0
M            @(&0'P$ >&PO=V]R:W-H965T<R]S:&5E=#8P+GAM;%!+ 0(4
M Q0    ( #6(55@O)NO.G@(  '@'   9              " @;LB 0!X;"]W
M;W)K<VAE971S+W-H965T-C$N>&UL4$L! A0#%     @ -8A56-QY=3-< @
M!P8  !D              ("!D"4! 'AL+W=O<FMS:&5E=',O<VAE970V,BYX
M;6Q02P$"% ,4    "  UB%58?'I2ROD"  "="P  &0              @($C
M* $ >&PO=V]R:W-H965T<R]S:&5E=#8S+GAM;%!+ 0(4 Q0    ( #6(55@2
MD5C@I0(  '0'   9              " @5,K 0!X;"]W;W)K<VAE971S+W-H
M965T-C0N>&UL4$L! A0#%     @ -8A56-OXR!!_ @  T@8  !D
M     ("!+RX! 'AL+W=O<FMS:&5E=',O<VAE970V-2YX;6Q02P$"% ,4
M"  UB%588!QC?L0"  "$"   &0              @('E, $ >&PO=V]R:W-H
M965T<R]S:&5E=#8V+GAM;%!+ 0(4 Q0    ( #6(55@B36=V+@,  (T*   9
M              " @> S 0!X;"]W;W)K<VAE971S+W-H965T-C<N>&UL4$L!
M A0#%     @ -8A56,X+0THE P  =PH  !D              ("!13<! 'AL
M+W=O<FMS:&5E=',O<VAE970V."YX;6Q02P$"% ,4    "  UB%58JA\AK*$#
M  ":#   &0              @(&A.@$ >&PO=V]R:W-H965T<R]S:&5E=#8Y
M+GAM;%!+ 0(4 Q0    ( #6(55@D?] HG0,  $P+   9              "
M@7D^ 0!X;"]W;W)K<VAE971S+W-H965T-S N>&UL4$L! A0#%     @ -8A5
M6#P*/>L  @  ( 0  !D              ("!34(! 'AL+W=O<FMS:&5E=',O
M<VAE970W,2YX;6Q02P$"% ,4    "  UB%580O-K:BT'  #I1P  &0
M        @(&$1 $ >&PO=V]R:W-H965T<R]S:&5E=#<R+GAM;%!+ 0(4 Q0
M   ( #6(55@2+%H4K0@  *==   9              " @>A+ 0!X;"]W;W)K
M<VAE971S+W-H965T-S,N>&UL4$L! A0#%     @ -8A56*!]/?#  P  FQ4
M !D              ("!S%0! 'AL+W=O<FMS:&5E=',O<VAE970W-"YX;6Q0
M2P$"% ,4    "  UB%58S>FP>"$-  !+N@  &0              @('#6 $
M>&PO=V]R:W-H965T<R]S:&5E=#<U+GAM;%!+ 0(4 Q0    ( #6(55CU$Y,%
M_@0  )L6   9              " @1MF 0!X;"]W;W)K<VAE971S+W-H965T
M-S8N>&UL4$L! A0#%     @ -8A56(9RY!S< @  -PL  !D
M ("!4&L! 'AL+W=O<FMS:&5E=',O<VAE970W-RYX;6Q02P$"% ,4    "  U
MB%58(UCED[\$  "$&P  &0              @(%C;@$ >&PO=V]R:W-H965T
M<R]S:&5E=#<X+GAM;%!+ 0(4 Q0    ( #6(55A6-A3OL00  +0.   9
M          " @5ES 0!X;"]W;W)K<VAE971S+W-H965T-SDN>&UL4$L! A0#
M%     @ -8A56-Y&-FH.!   +!$  !D              ("!07@! 'AL+W=O
M<FMS:&5E=',O<VAE970X,"YX;6Q02P$"% ,4    "  UB%58:?8GY0@"  "T
M!   &0              @(&&? $ >&PO=V]R:W-H965T<R]S:&5E=#@Q+GAM
M;%!+ 0(4 Q0    ( #6(55@)Z=4M, ,  "03   -              "  <5^
M 0!X;"]S='EL97,N>&UL4$L! A0#%     @ -8A56)>*NQS     $P(   L
M             ( !(((! %]R96QS+RYR96QS4$L! A0#%     @ -8A56!&?
M^'S6!0  ]S0   \              ( !"8,! 'AL+W=O<FMB;V]K+GAM;%!+
M 0(4 Q0    ( #6(55BKG#%+;@(  -HO   :              "  0R) 0!X
M;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+ 0(4 Q0    ( #6(55A$Y-]8
M'@(  )<N   3              "  ;*+ 0!;0V]N=&5N=%]4>7!E<UTN>&UL
64$L%!@    !9 %D 9A@   &. 0    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>96
<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>97
<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>99
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.0.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>209</ContextCount>
  <ElementCount>310</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>80</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>4</UnitCount>
  <MyReports>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>995100 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/dei/role/document/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>995300 - Document - Audit Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/dei/role/document/AuditInformation</Role>
      <ShortName>Audit Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>995301 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ConsolidatedBalanceSheet</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>995302 - Statement - Consolidated Balance Sheets (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ConsolidatedBalanceSheet_Parentheticals</Role>
      <ShortName>Consolidated Balance Sheets (Parentheticals)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>995303 - Statement - Consolidated Statements of Income and Comprehensive Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ConsolidatedIncomeStatement</Role>
      <ShortName>Consolidated Statements of Income and Comprehensive Income</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>995304 - Statement - Consolidated Statements of Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ShareholdersEquityType2or3</Role>
      <ShortName>Consolidated Statements of Stockholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>995305 - Statement - Consolidated Statements of Stockholders' Equity (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ShareholdersEquityType2or3_Parentheticals</Role>
      <ShortName>Consolidated Statements of Stockholders' Equity (Parentheticals)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>995306 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ConsolidatedCashFlow</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>995307 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/SummaryofSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>995308 - Disclosure - Revenue Recognition and Contracts with Customers</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/RevenueRecognitionandContractswithCustomers</Role>
      <ShortName>Revenue Recognition and Contracts with Customers</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>995309 - Disclosure - Trade Receivables, Net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/TradeReceivablesNet</Role>
      <ShortName>Trade Receivables, Net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>995310 - Disclosure - Inventories</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/Inventories</Role>
      <ShortName>Inventories</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>995311 - Disclosure - Property, Plant and Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/PropertyPlantandEquipment</Role>
      <ShortName>Property, Plant and Equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>995312 - Disclosure - Other Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/OtherAssets</Role>
      <ShortName>Other Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>995313 - Disclosure - Leased Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/LeasedAssets</Role>
      <ShortName>Leased Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>995314 - Disclosure - Trade Accounts Payable and Accrued Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/TradeAccountsPayableandAccruedExpenses</Role>
      <ShortName>Trade Accounts Payable and Accrued Expenses</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>995315 - Disclosure - Accrued Dividends</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/AccruedDividends</Role>
      <ShortName>Accrued Dividends</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>995316 - Disclosure - Line of Credit</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/LineofCredit</Role>
      <ShortName>Line of Credit</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>995317 - Disclosure - Employee Benefit Plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/EmployeeBenefitPlans</Role>
      <ShortName>Employee Benefit Plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>995318 - Disclosure - Other Operating Income, Net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/OtherOperatingIncomeNet</Role>
      <ShortName>Other Operating Income, Net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>995319 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>995320 - Disclosure - Earnings Per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/EarningsPerShare</Role>
      <ShortName>Earnings Per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>995321 - Disclosure - Stock Repurchases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/StockRepurchases</Role>
      <ShortName>Stock Repurchases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>995322 - Disclosure - Compensation Plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/CompensationPlans</Role>
      <ShortName>Compensation Plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>995323 - Disclosure - Operating Segment Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/OperatingSegmentInformation</Role>
      <ShortName>Operating Segment Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>995324 - Disclosure - Quarterly Results of Operations (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/QuarterlyResultsofOperationsUnaudited</Role>
      <ShortName>Quarterly Results of Operations (Unaudited)</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>995325 - Disclosure - Related Party Transactions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/RelatedPartyTransactions</Role>
      <ShortName>Related Party Transactions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>995326 - Disclosure - Contingent Liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ContingentLiabilities</Role>
      <ShortName>Contingent Liabilities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>995327 - Disclosure - Financial Instruments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/FinancialInstruments</Role>
      <ShortName>Financial Instruments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>995328 - Disclosure - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/SubsequentEvents</Role>
      <ShortName>Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>30</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>995410 - Disclosure - Pay vs Performance Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/PvpDisclosure</Role>
      <ShortName>Pay vs Performance Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>995445 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>32</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>996000 - Disclosure - Accounting Policies, by Policy (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/AccountingPoliciesByPolicy</Role>
      <ShortName>Accounting Policies, by Policy (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://ruger.com/role/SummaryofSignificantAccountingPolicies</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>996001 - Disclosure - Revenue Recognition and Contracts with Customers (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/RevenueRecognitionandContractswithCustomersTables</Role>
      <ShortName>Revenue Recognition and Contracts with Customers (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ruger.com/role/RevenueRecognitionandContractswithCustomers</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>996002 - Disclosure - Trade Receivables, Net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/TradeReceivablesNetTables</Role>
      <ShortName>Trade Receivables, Net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ruger.com/role/TradeReceivablesNet</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>996003 - Disclosure - Inventories (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/InventoriesTables</Role>
      <ShortName>Inventories (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ruger.com/role/Inventories</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>996004 - Disclosure - Property, Plant and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/PropertyPlantandEquipmentTables</Role>
      <ShortName>Property, Plant and Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ruger.com/role/PropertyPlantandEquipment</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>996005 - Disclosure - Other Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/OtherAssetsTables</Role>
      <ShortName>Other Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ruger.com/role/OtherAssets</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>996006 - Disclosure - Leased Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/LeasedAssetsTables</Role>
      <ShortName>Leased Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ruger.com/role/LeasedAssets</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>996007 - Disclosure - Trade Accounts Payable and Accrued Expenses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/TradeAccountsPayableandAccruedExpensesTables</Role>
      <ShortName>Trade Accounts Payable and Accrued Expenses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ruger.com/role/TradeAccountsPayableandAccruedExpenses</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>996008 - Disclosure - Other Operating Income, Net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/OtherOperatingIncomeNetTables</Role>
      <ShortName>Other Operating Income, Net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ruger.com/role/OtherOperatingIncomeNet</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>996009 - Disclosure - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/IncomeTaxesTables</Role>
      <ShortName>Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ruger.com/role/IncomeTaxes</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>996010 - Disclosure - Earnings Per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/EarningsPerShareTables</Role>
      <ShortName>Earnings Per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ruger.com/role/EarningsPerShare</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>996011 - Disclosure - Stock Repurchases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/StockRepurchasesTables</Role>
      <ShortName>Stock Repurchases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ruger.com/role/StockRepurchases</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>996012 - Disclosure - Operating Segment Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/OperatingSegmentInformationTables</Role>
      <ShortName>Operating Segment Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ruger.com/role/OperatingSegmentInformation</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>996013 - Disclosure - Quarterly Results of Operations (Unaudited) (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/QuarterlyResultsofOperationsUnauditedTables</Role>
      <ShortName>Quarterly Results of Operations (Unaudited) (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ruger.com/role/QuarterlyResultsofOperationsUnaudited</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>996014 - Disclosure - Contingent Liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ContingentLiabilitiesTables</Role>
      <ShortName>Contingent Liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://ruger.com/role/ContingentLiabilities</ParentRole>
      <Position>47</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>996015 - Disclosure - Summary of Significant Accounting Policies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails</Role>
      <ShortName>Summary of Significant Accounting Policies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>996016 - Disclosure - Revenue Recognition and Contracts with Customers (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/RevenueRecognitionandContractswithCustomersDetails</Role>
      <ShortName>Revenue Recognition and Contracts with Customers (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/RevenueRecognitionandContractswithCustomersTables</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>996017 - Disclosure - Revenue Recognition and Contracts with Customers (Details) - Schedule of Revenue Recognized</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ScheduleofRevenueRecognizedTable</Role>
      <ShortName>Revenue Recognition and Contracts with Customers (Details) - Schedule of Revenue Recognized</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/RevenueRecognitionandContractswithCustomersTables</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>996018 - Disclosure - Trade Receivables, Net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/TradeReceivablesNetDetails</Role>
      <ShortName>Trade Receivables, Net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/TradeReceivablesNetTables</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>996019 - Disclosure - Trade Receivables, Net (Details) - Schedule of Trade Receivables</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ScheduleofTradeReceivablesTable</Role>
      <ShortName>Trade Receivables, Net (Details) - Schedule of Trade Receivables</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/TradeReceivablesNetTables</ParentRole>
      <Position>52</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>996020 - Disclosure - Inventories (Details) - Schedule of Inventories</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ScheduleofInventoriesTable</Role>
      <ShortName>Inventories (Details) - Schedule of Inventories</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/InventoriesTables</ParentRole>
      <Position>53</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>996021 - Disclosure - Property, Plant and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/PropertyPlantandEquipmentDetails</Role>
      <ShortName>Property, Plant and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/PropertyPlantandEquipmentTables</ParentRole>
      <Position>54</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>996022 - Disclosure - Property, Plant and Equipment (Details) - Schedule of Property, Plant and Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ScheduleofPropertyPlantandEquipmentTable</Role>
      <ShortName>Property, Plant and Equipment (Details) - Schedule of Property, Plant and Equipment</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/PropertyPlantandEquipmentTables</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>996023 - Disclosure - Other Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/OtherAssetsDetails</Role>
      <ShortName>Other Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/OtherAssetsTables</ParentRole>
      <Position>56</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>996024 - Disclosure - Other Assets (Details) - Schedule of Other Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ScheduleofOtherAssetsTable</Role>
      <ShortName>Other Assets (Details) - Schedule of Other Assets</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/OtherAssetsTables</ParentRole>
      <Position>57</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>996025 - Disclosure - Leased Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/LeasedAssetsDetails</Role>
      <ShortName>Leased Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/LeasedAssetsTables</ParentRole>
      <Position>58</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>996026 - Disclosure - Leased Assets (Details) - Schedule of Right-of-Use Assets and Related Lease Liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable</Role>
      <ShortName>Leased Assets (Details) - Schedule of Right-of-Use Assets and Related Lease Liabilities</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/LeasedAssetsTables</ParentRole>
      <Position>59</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>996027 - Disclosure - Leased Assets (Details) - Schedule of Operating Lease Liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ScheduleofOperatingLeaseLiabilitiesTable</Role>
      <ShortName>Leased Assets (Details) - Schedule of Operating Lease Liabilities</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/LeasedAssetsTables</ParentRole>
      <Position>60</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>996028 - Disclosure - Trade Accounts Payable and Accrued Expenses (Details) - Schedule of Trade Accounts Payable and Accrued Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable</Role>
      <ShortName>Trade Accounts Payable and Accrued Expenses (Details) - Schedule of Trade Accounts Payable and Accrued Expenses</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/TradeAccountsPayableandAccruedExpensesTables</ParentRole>
      <Position>61</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>996029 - Disclosure - Accrued Dividends (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/AccruedDividendsDetails</Role>
      <ShortName>Accrued Dividends (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/AccruedDividends</ParentRole>
      <Position>62</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>996030 - Disclosure - Line of Credit (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/LineofCreditDetails</Role>
      <ShortName>Line of Credit (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/LineofCredit</ParentRole>
      <Position>63</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>996031 - Disclosure - Employee Benefit Plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/EmployeeBenefitPlansDetails</Role>
      <ShortName>Employee Benefit Plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/EmployeeBenefitPlans</ParentRole>
      <Position>64</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>996032 - Disclosure - Other Operating Income, Net (Details) - Schedule of Other Operating Income, Net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ScheduleofOtherOperatingIncomeNetTable</Role>
      <ShortName>Other Operating Income, Net (Details) - Schedule of Other Operating Income, Net</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/OtherOperatingIncomeNetTables</ParentRole>
      <Position>65</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>996033 - Disclosure - Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/IncomeTaxesDetails</Role>
      <ShortName>Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/IncomeTaxesTables</ParentRole>
      <Position>66</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>996034 - Disclosure - Income Taxes (Details) - Schedule of Federal and State Income Tax Provision</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable</Role>
      <ShortName>Income Taxes (Details) - Schedule of Federal and State Income Tax Provision</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/IncomeTaxesTables</ParentRole>
      <Position>67</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>996035 - Disclosure - Income Taxes (Details) - Schedule of Effective Income Tax Rate Reconciliation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable</Role>
      <ShortName>Income Taxes (Details) - Schedule of Effective Income Tax Rate Reconciliation</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/IncomeTaxesTables</ParentRole>
      <Position>68</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>996036 - Disclosure - Income Taxes (Details) - Schedule of Deferred Tax Assets and Liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable</Role>
      <ShortName>Income Taxes (Details) - Schedule of Deferred Tax Assets and Liabilities</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/IncomeTaxesTables</ParentRole>
      <Position>69</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>996037 - Disclosure - Earnings Per Share (Details) - Schedule of a Reconciliation of the Numerator and Denominator for the Basic and Diluted Earnings Per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable</Role>
      <ShortName>Earnings Per Share (Details) - Schedule of a Reconciliation of the Numerator and Denominator for the Basic and Diluted Earnings Per Share</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/EarningsPerShareTables</ParentRole>
      <Position>70</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>996038 - Disclosure - Stock Repurchases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/StockRepurchasesDetails</Role>
      <ShortName>Stock Repurchases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/StockRepurchasesTables</ParentRole>
      <Position>71</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>996039 - Disclosure - Stock Repurchases (Details) - Schedule of Repurchased Shares of its Common Stock</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable</Role>
      <ShortName>Stock Repurchases (Details) - Schedule of Repurchased Shares of its Common Stock</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/StockRepurchasesTables</ParentRole>
      <Position>72</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>996040 - Disclosure - Compensation Plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/CompensationPlansDetails</Role>
      <ShortName>Compensation Plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/CompensationPlans</ParentRole>
      <Position>73</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>996041 - Disclosure - Operating Segment Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/OperatingSegmentInformationDetails</Role>
      <ShortName>Operating Segment Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/OperatingSegmentInformationTables</ParentRole>
      <Position>74</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>996042 - Disclosure - Operating Segment Information (Details) - Schedule of Operating Segment Financial Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable</Role>
      <ShortName>Operating Segment Information (Details) - Schedule of Operating Segment Financial Information</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/OperatingSegmentInformationTables</ParentRole>
      <Position>75</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>996043 - Disclosure - Quarterly Results of Operations (Unaudited) (Details) - Schedule of Quarterly Financial Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ScheduleofQuarterlyFinancialInformationTable</Role>
      <ShortName>Quarterly Results of Operations (Unaudited) (Details) - Schedule of Quarterly Financial Information</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/QuarterlyResultsofOperationsUnauditedTables</ParentRole>
      <Position>76</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>996044 - Disclosure - Related Party Transactions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/RelatedPartyTransactionsDetails</Role>
      <ShortName>Related Party Transactions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/RelatedPartyTransactions</ParentRole>
      <Position>77</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>996045 - Disclosure - Contingent Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ContingentLiabilitiesDetails</Role>
      <ShortName>Contingent Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/ContingentLiabilitiesTables</ParentRole>
      <Position>78</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>996046 - Disclosure - Contingent Liabilities (Details) - Schedule of Roll-Forward for Product Liability Reserve</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ScheduleofRollForwardforProductLiabilityReserveTable</Role>
      <ShortName>Contingent Liabilities (Details) - Schedule of Roll-Forward for Product Liability Reserve</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/ContingentLiabilitiesTables</ParentRole>
      <Position>79</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>996047 - Disclosure - Contingent Liabilities (Details) - Schedule of Product Liability Expense</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/ScheduleofProductLiabilityExpenseTable</Role>
      <ShortName>Contingent Liabilities (Details) - Schedule of Product Liability Expense</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/ContingentLiabilitiesTables</ParentRole>
      <Position>80</Position>
    </Report>
    <Report instance="rgr-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>996048 - Disclosure - Subsequent Events (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://ruger.com/role/SubsequentEventsDetails</Role>
      <ShortName>Subsequent Events (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://ruger.com/role/SubsequentEvents</ParentRole>
      <Position>81</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="10-K" isDefinitelyFs="true" isUsgaap="true" original="rgr-20231231.htm">rgr-20231231.htm</File>
    <File>rgr-20231231.xsd</File>
    <File>rgr-20231231_cal.xml</File>
    <File>rgr-20231231_def.xml</File>
    <File>rgr-20231231_lab.xml</File>
    <File>rgr-20231231_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>image_001.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="764">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="38">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
    <BaseTaxonomy items="13">http://xbrl.sec.gov/ecd/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>101
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "rgr-20231231.htm": {
   "nsprefix": "rgr",
   "nsuri": "http://ruger.com/20231231",
   "dts": {
    "inline": {
     "local": [
      "rgr-20231231.htm"
     ]
    },
    "schema": {
     "local": [
      "rgr-20231231.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-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",
      "https://xbrl.sec.gov/dei/2023/dei-2023_def.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023_lab.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023_pre.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-sub-2023.xsd",
      "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd",
      "https://xbrl.sec.gov/ecd/2023/ecd-sub-2023.xsd",
      "https://xbrl.sec.gov/sic/2023/sic-2023.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "rgr-20231231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "rgr-20231231_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "rgr-20231231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "rgr-20231231_pre.xml"
     ]
    }
   },
   "keyStandard": 282,
   "keyCustom": 28,
   "axisStandard": 23,
   "axisCustom": 1,
   "memberStandard": 25,
   "memberCustom": 51,
   "hidden": {
    "total": 43,
    "http://fasb.org/us-gaap/2023": 32,
    "http://xbrl.sec.gov/dei/2023": 7,
    "http://ruger.com/20231231": 4
   },
   "contextCount": 209,
   "entityCount": 1,
   "segmentCount": 80,
   "elementCount": 750,
   "unitCount": 4,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 764,
    "http://xbrl.sec.gov/dei/2023": 38,
    "http://xbrl.sec.gov/ecd/2023": 13
   },
   "report": {
    "R1": {
     "role": "http://xbrl.sec.gov/dei/role/document/Cover",
     "longName": "995100 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://xbrl.sec.gov/dei/role/document/AuditInformation",
     "longName": "995300 - Document - Audit Information",
     "shortName": "Audit Information",
     "isDefault": "false",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "2",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "dei:AuditorName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "dei:AuditorName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://ruger.com/role/ConsolidatedBalanceSheet",
     "longName": "995301 - Statement - Consolidated Balance Sheets",
     "shortName": "Consolidated Balance Sheets",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://ruger.com/role/ConsolidatedBalanceSheet_Parentheticals",
     "longName": "995302 - Statement - Consolidated Balance Sheets (Parentheticals)",
     "shortName": "Consolidated Balance Sheets (Parentheticals)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:TreasuryStockCommonShares",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:TreasuryStockCommonShares",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R5": {
     "role": "http://ruger.com/role/ConsolidatedIncomeStatement",
     "longName": "995303 - Statement - Consolidated Statements of Income and Comprehensive Income",
     "shortName": "Consolidated Statements of Income and Comprehensive Income",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:Revenues",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://ruger.com/role/ShareholdersEquityType2or3",
     "longName": "995304 - Statement - Consolidated Statements of Stockholders' Equity",
     "shortName": "Consolidated Statements of Stockholders' Equity",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "c17",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c17",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R7": {
     "role": "http://ruger.com/role/ShareholdersEquityType2or3_Parentheticals",
     "longName": "995305 - Statement - Consolidated Statements of Stockholders' Equity (Parentheticals)",
     "shortName": "Consolidated Statements of Stockholders' Equity (Parentheticals)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "7",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:StockRepurchasedDuringPeriodShares",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:StockRepurchasedDuringPeriodShares",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R8": {
     "role": "http://ruger.com/role/ConsolidatedCashFlow",
     "longName": "995306 - Statement - Consolidated Statements of Cash Flows",
     "shortName": "Consolidated Statements of Cash Flows",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "8",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "unique": true
     }
    },
    "R9": {
     "role": "http://ruger.com/role/SummaryofSignificantAccountingPolicies",
     "longName": "995307 - Disclosure - Summary of Significant Accounting Policies",
     "shortName": "Summary of Significant Accounting Policies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://ruger.com/role/RevenueRecognitionandContractswithCustomers",
     "longName": "995308 - Disclosure - Revenue Recognition and Contracts with Customers",
     "shortName": "Revenue Recognition and Contracts with Customers",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://ruger.com/role/TradeReceivablesNet",
     "longName": "995309 - Disclosure - Trade Receivables, Net",
     "shortName": "Trade Receivables, Net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://ruger.com/role/Inventories",
     "longName": "995310 - Disclosure - Inventories",
     "shortName": "Inventories",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://ruger.com/role/PropertyPlantandEquipment",
     "longName": "995311 - Disclosure - Property, Plant and Equipment",
     "shortName": "Property, Plant and Equipment",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://ruger.com/role/OtherAssets",
     "longName": "995312 - Disclosure - Other Assets",
     "shortName": "Other Assets",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:OtherAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:OtherAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://ruger.com/role/LeasedAssets",
     "longName": "995313 - Disclosure - Leased Assets",
     "shortName": "Leased Assets",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://ruger.com/role/TradeAccountsPayableandAccruedExpenses",
     "longName": "995314 - Disclosure - Trade Accounts Payable and Accrued Expenses",
     "shortName": "Trade Accounts Payable and Accrued Expenses",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://ruger.com/role/AccruedDividends",
     "longName": "995315 - Disclosure - Accrued Dividends",
     "shortName": "Accrued Dividends",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://ruger.com/role/LineofCredit",
     "longName": "995316 - Disclosure - Line of Credit",
     "shortName": "Line of Credit",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "rgr:LineOfCreditFacilitiesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "rgr:LineOfCreditFacilitiesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://ruger.com/role/EmployeeBenefitPlans",
     "longName": "995317 - Disclosure - Employee Benefit Plans",
     "shortName": "Employee Benefit Plans",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://ruger.com/role/OtherOperatingIncomeNet",
     "longName": "995318 - Disclosure - Other Operating Income, Net",
     "shortName": "Other Operating Income, Net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://ruger.com/role/IncomeTaxes",
     "longName": "995319 - Disclosure - Income Taxes",
     "shortName": "Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://ruger.com/role/EarningsPerShare",
     "longName": "995320 - Disclosure - Earnings Per Share",
     "shortName": "Earnings Per Share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://ruger.com/role/StockRepurchases",
     "longName": "995321 - Disclosure - Stock Repurchases",
     "shortName": "Stock Repurchases",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "rgr:StockRepurchasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "rgr:StockRepurchasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://ruger.com/role/CompensationPlans",
     "longName": "995322 - Disclosure - Compensation Plans",
     "shortName": "Compensation Plans",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "24",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://ruger.com/role/OperatingSegmentInformation",
     "longName": "995323 - Disclosure - Operating Segment Information",
     "shortName": "Operating Segment Information",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "25",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://ruger.com/role/QuarterlyResultsofOperationsUnaudited",
     "longName": "995324 - Disclosure - Quarterly Results of Operations (Unaudited)",
     "shortName": "Quarterly Results of Operations (Unaudited)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "26",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://ruger.com/role/RelatedPartyTransactions",
     "longName": "995325 - Disclosure - Related Party Transactions",
     "shortName": "Related Party Transactions",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "27",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://ruger.com/role/ContingentLiabilities",
     "longName": "995326 - Disclosure - Contingent Liabilities",
     "shortName": "Contingent Liabilities",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "28",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:LegalMattersAndContingenciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:LegalMattersAndContingenciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://ruger.com/role/FinancialInstruments",
     "longName": "995327 - Disclosure - Financial Instruments",
     "shortName": "Financial Instruments",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "29",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:FinancialInstrumentsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:FinancialInstrumentsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://ruger.com/role/SubsequentEvents",
     "longName": "995328 - Disclosure - Subsequent Events",
     "shortName": "Subsequent Events",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "30",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure",
     "longName": "995410 - Disclosure - Pay vs Performance Disclosure",
     "shortName": "Pay vs Performance Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "31",
     "firstAnchor": {
      "contextRef": "c99",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R32": {
     "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
     "longName": "995445 - Disclosure - Insider Trading Arrangements",
     "shortName": "Insider Trading Arrangements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "32",
     "firstAnchor": {
      "contextRef": "c99",
      "name": "ecd:MtrlTermsOfTrdArrTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c99",
      "name": "ecd:MtrlTermsOfTrdArrTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://ruger.com/role/AccountingPoliciesByPolicy",
     "longName": "996000 - Disclosure - Accounting Policies, by Policy (Policies)",
     "shortName": "Accounting Policies, by Policy (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "33",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "rgr:OrganizationPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "rgr:OrganizationPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://ruger.com/role/RevenueRecognitionandContractswithCustomersTables",
     "longName": "996001 - Disclosure - Revenue Recognition and Contracts with Customers (Tables)",
     "shortName": "Revenue Recognition and Contracts with Customers (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "34",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "rgr:RevenueRecognitionMultipledeliverableArrangementsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "rgr:RevenueRecognitionMultipledeliverableArrangementsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://ruger.com/role/TradeReceivablesNetTables",
     "longName": "996002 - Disclosure - Trade Receivables, Net (Tables)",
     "shortName": "Trade Receivables, Net (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "35",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://ruger.com/role/InventoriesTables",
     "longName": "996003 - Disclosure - Inventories (Tables)",
     "shortName": "Inventories (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "36",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://ruger.com/role/PropertyPlantandEquipmentTables",
     "longName": "996004 - Disclosure - Property, Plant and Equipment (Tables)",
     "shortName": "Property, Plant and Equipment (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "37",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://ruger.com/role/OtherAssetsTables",
     "longName": "996005 - Disclosure - Other Assets (Tables)",
     "shortName": "Other Assets (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "38",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfOtherAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:OtherAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfOtherAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:OtherAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://ruger.com/role/LeasedAssetsTables",
     "longName": "996006 - Disclosure - Leased Assets (Tables)",
     "shortName": "Leased Assets (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "39",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "rgr:ScheduleOfFutureMinimumLeasePaymentsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "rgr:ScheduleOfFutureMinimumLeasePaymentsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://ruger.com/role/TradeAccountsPayableandAccruedExpensesTables",
     "longName": "996007 - Disclosure - Trade Accounts Payable and Accrued Expenses (Tables)",
     "shortName": "Trade Accounts Payable and Accrued Expenses (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "40",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://ruger.com/role/OtherOperatingIncomeNetTables",
     "longName": "996008 - Disclosure - Other Operating Income, Net (Tables)",
     "shortName": "Other Operating Income, Net (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "41",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "rgr:OtherIncomeAndExpensesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "rgr:OtherIncomeAndExpensesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://ruger.com/role/IncomeTaxesTables",
     "longName": "996009 - Disclosure - Income Taxes (Tables)",
     "shortName": "Income Taxes (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "42",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:FederalIncomeTaxNoteTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:FederalIncomeTaxNoteTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://ruger.com/role/EarningsPerShareTables",
     "longName": "996010 - Disclosure - Earnings Per Share (Tables)",
     "shortName": "Earnings Per Share (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "43",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://ruger.com/role/StockRepurchasesTables",
     "longName": "996011 - Disclosure - Stock Repurchases (Tables)",
     "shortName": "Stock Repurchases (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "44",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfTreasuryStockByClassTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "rgr:StockRepurchasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfTreasuryStockByClassTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "rgr:StockRepurchasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://ruger.com/role/OperatingSegmentInformationTables",
     "longName": "996012 - Disclosure - Operating Segment Information (Tables)",
     "shortName": "Operating Segment Information (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "45",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R46": {
     "role": "http://ruger.com/role/QuarterlyResultsofOperationsUnauditedTables",
     "longName": "996013 - Disclosure - Quarterly Results of Operations (Unaudited) (Tables)",
     "shortName": "Quarterly Results of Operations (Unaudited) (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "46",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://ruger.com/role/ContingentLiabilitiesTables",
     "longName": "996014 - Disclosure - Contingent Liabilities (Tables)",
     "shortName": "Contingent Liabilities (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "47",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails",
     "longName": "996015 - Disclosure - Summary of Significant Accounting Policies (Details)",
     "shortName": "Summary of Significant Accounting Policies (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:SharebasedCompensationEffectOnEarningsPerShare",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:SharebasedCompensationEffectOnEarningsPerShare",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://ruger.com/role/RevenueRecognitionandContractswithCustomersDetails",
     "longName": "996016 - Disclosure - Revenue Recognition and Contracts with Customers (Details)",
     "shortName": "Revenue Recognition and Contracts with Customers (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:DeferredRevenueAdditions",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:DeferredRevenueAdditions",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://ruger.com/role/ScheduleofRevenueRecognizedTable",
     "longName": "996017 - Disclosure - Revenue Recognition and Contracts with Customers (Details) - Schedule of Revenue Recognized",
     "shortName": "Revenue Recognition and Contracts with Customers (Details) - Schedule of Revenue Recognized",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "c21",
      "name": "us-gaap:ContractWithCustomerLiability",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "rgr:RevenueDeferred",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "unique": true
     }
    },
    "R51": {
     "role": "http://ruger.com/role/TradeReceivablesNetDetails",
     "longName": "996018 - Disclosure - Trade Receivables, Net (Details)",
     "shortName": "Trade Receivables, Net (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "c54",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c54",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R52": {
     "role": "http://ruger.com/role/ScheduleofTradeReceivablesTable",
     "longName": "996019 - Disclosure - Trade Receivables, Net (Details) - Schedule of Trade Receivables",
     "shortName": "Trade Receivables, Net (Details) - Schedule of Trade Receivables",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://ruger.com/role/ScheduleofInventoriesTable",
     "longName": "996020 - Disclosure - Inventories (Details) - Schedule of Inventories",
     "shortName": "Inventories (Details) - Schedule of Inventories",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:InventoryFinishedGoods",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:InventoryFinishedGoods",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://ruger.com/role/PropertyPlantandEquipmentDetails",
     "longName": "996021 - Disclosure - Property, Plant and Equipment (Details)",
     "shortName": "Property, Plant and Equipment (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:Depreciation",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R55": {
     "role": "http://ruger.com/role/ScheduleofPropertyPlantandEquipmentTable",
     "longName": "996022 - Disclosure - Property, Plant and Equipment (Details) - Schedule of Property, Plant and Equipment",
     "shortName": "Property, Plant and Equipment (Details) - Schedule of Property, Plant and Equipment",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c60",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "unique": true
     }
    },
    "R56": {
     "role": "http://ruger.com/role/OtherAssetsDetails",
     "longName": "996023 - Disclosure - Other Assets (Details)",
     "shortName": "Other Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:OtherAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:OtherAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R57": {
     "role": "http://ruger.com/role/ScheduleofOtherAssetsTable",
     "longName": "996024 - Disclosure - Other Assets (Details) - Schedule of Other Assets",
     "shortName": "Other Assets (Details) - Schedule of Other Assets",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:FiniteLivedPatentsGross",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:OtherAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:FiniteLivedPatentsGross",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:OtherAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R58": {
     "role": "http://ruger.com/role/LeasedAssetsDetails",
     "longName": "996025 - Disclosure - Leased Assets (Details)",
     "shortName": "Leased Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R59": {
     "role": "http://ruger.com/role/ScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable",
     "longName": "996026 - Disclosure - Leased Assets (Details) - Schedule of Right-of-Use Assets and Related Lease Liabilities",
     "shortName": "Leased Assets (Details) - Schedule of Right-of-Use Assets and Related Lease Liabilities",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "rgr:TotalOperatingLeaseLiabilities",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "rgr:TotalOperatingLeaseLiabilities",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R60": {
     "role": "http://ruger.com/role/ScheduleofOperatingLeaseLiabilitiesTable",
     "longName": "996027 - Disclosure - Leased Assets (Details) - Schedule of Operating Lease Liabilities",
     "shortName": "Leased Assets (Details) - Schedule of Operating Lease Liabilities",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "c74",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c74",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable",
     "longName": "996028 - Disclosure - Trade Accounts Payable and Accrued Expenses (Details) - Schedule of Trade Accounts Payable and Accrued Expenses",
     "shortName": "Trade Accounts Payable and Accrued Expenses (Details) - Schedule of Trade Accounts Payable and Accrued Expenses",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:AccountsPayableTradeCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:AccountsPayableTradeCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R62": {
     "role": "http://ruger.com/role/AccruedDividendsDetails",
     "longName": "996029 - Disclosure - Accrued Dividends (Details)",
     "shortName": "Accrued Dividends (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "c75",
      "name": "us-gaap:DividendsPayableAmountPerShare",
      "unitRef": "usdPershares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "p",
       "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c75",
      "name": "us-gaap:DividendsPayableAmountPerShare",
      "unitRef": "usdPershares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "p",
       "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R63": {
     "role": "http://ruger.com/role/LineofCreditDetails",
     "longName": "996030 - Disclosure - Line of Credit (Details)",
     "shortName": "Line of Credit (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "c79",
      "name": "us-gaap:LineOfCreditFacilityExpirationDate1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "rgr:LineOfCreditFacilitiesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c79",
      "name": "us-gaap:LineOfCreditFacilityExpirationDate1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "rgr:LineOfCreditFacilitiesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R64": {
     "role": "http://ruger.com/role/EmployeeBenefitPlansDetails",
     "longName": "996031 - Disclosure - Employee Benefit Plans (Details)",
     "shortName": "Employee Benefit Plans (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:DefinedContributionPlanAdministrativeExpenses",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:DefinedContributionPlanAdministrativeExpenses",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R65": {
     "role": "http://ruger.com/role/ScheduleofOtherOperatingIncomeNetTable",
     "longName": "996032 - Disclosure - Other Operating Income, Net (Details) - Schedule of Other Operating Income, Net",
     "shortName": "Other Operating Income, Net (Details) - Schedule of Other Operating Income, Net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:GainLossOnSaleOfOtherAssets",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:GainLossOnSaleOfOtherAssets",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R66": {
     "role": "http://ruger.com/role/IncomeTaxesDetails",
     "longName": "996033 - Disclosure - Income Taxes (Details)",
     "shortName": "Income Taxes (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "rgr:CapitalizedAndAmortizedOverForIncomeTaxPurposes",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "unique": true
     }
    },
    "R67": {
     "role": "http://ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable",
     "longName": "996034 - Disclosure - Income Taxes (Details) - Schedule of Federal and State Income Tax Provision",
     "shortName": "Income Taxes (Details) - Schedule of Federal and State Income Tax Provision",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R68": {
     "role": "http://ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable",
     "longName": "996035 - Disclosure - Income Taxes (Details) - Schedule of Effective Income Tax Rate Reconciliation",
     "shortName": "Income Taxes (Details) - Schedule of Effective Income Tax Rate Reconciliation",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
      "unitRef": "pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "unique": true
     }
    },
    "R69": {
     "role": "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable",
     "longName": "996036 - Disclosure - Income Taxes (Details) - Schedule of Deferred Tax Assets and Liabilities",
     "shortName": "Income Taxes (Details) - Schedule of Deferred Tax Assets and Liabilities",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R70": {
     "role": "http://ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable",
     "longName": "996037 - Disclosure - Earnings Per Share (Details) - Schedule of a Reconciliation of the Numerator and Denominator for the Basic and Diluted Earnings Per Share",
     "shortName": "Earnings Per Share (Details) - Schedule of a Reconciliation of the Numerator and Denominator for the Basic and Diluted Earnings Per Share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "70",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:TemporaryEquityNetIncome",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:TemporaryEquityNetIncome",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R71": {
     "role": "http://ruger.com/role/StockRepurchasesDetails",
     "longName": "996038 - Disclosure - Stock Repurchases (Details)",
     "shortName": "Stock Repurchases (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "71",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R72": {
     "role": "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable",
     "longName": "996039 - Disclosure - Stock Repurchases (Details) - Schedule of Repurchased Shares of its Common Stock",
     "shortName": "Stock Repurchases (Details) - Schedule of Repurchased Shares of its Common Stock",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "72",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:TreasuryStockPreferredShares",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "rgr:StockRepurchasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:TreasuryStockPreferredShares",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "rgr:StockRepurchasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R73": {
     "role": "http://ruger.com/role/CompensationPlansDetails",
     "longName": "996040 - Disclosure - Compensation Plans (Details)",
     "shortName": "Compensation Plans (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "73",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R74": {
     "role": "http://ruger.com/role/OperatingSegmentInformationDetails",
     "longName": "996041 - Disclosure - Operating Segment Information (Details)",
     "shortName": "Operating Segment Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "74",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:NumberOfOperatingSegments",
      "unitRef": "pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:NumberOfOperatingSegments",
      "unitRef": "pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R75": {
     "role": "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable",
     "longName": "996042 - Disclosure - Operating Segment Information (Details) - Schedule of Operating Segment Financial Information",
     "shortName": "Operating Segment Information (Details) - Schedule of Operating Segment Financial Information",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "75",
     "firstAnchor": {
      "contextRef": "c99",
      "name": "us-gaap:Revenues",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c29",
      "name": "us-gaap:Assets",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "unique": true
     }
    },
    "R76": {
     "role": "http://ruger.com/role/ScheduleofQuarterlyFinancialInformationTable",
     "longName": "996043 - Disclosure - Quarterly Results of Operations (Unaudited) (Details) - Schedule of Quarterly Financial Information",
     "shortName": "Quarterly Results of Operations (Unaudited) (Details) - Schedule of Quarterly Financial Information",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "76",
     "firstAnchor": {
      "contextRef": "c99",
      "name": "us-gaap:Revenues",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c99",
      "name": "us-gaap:GrossProfit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "unique": true
     }
    },
    "R77": {
     "role": "http://ruger.com/role/RelatedPartyTransactionsDetails",
     "longName": "996044 - Disclosure - Related Party Transactions (Details)",
     "shortName": "Related Party Transactions (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "77",
     "firstAnchor": {
      "contextRef": "c173",
      "name": "us-gaap:RelatedPartyTransactionAmountsOfTransaction",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c173",
      "name": "us-gaap:RelatedPartyTransactionAmountsOfTransaction",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R78": {
     "role": "http://ruger.com/role/ContingentLiabilitiesDetails",
     "longName": "996045 - Disclosure - Contingent Liabilities (Details)",
     "shortName": "Contingent Liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "78",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "rgr:ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-6",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "rgr:ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-6",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R79": {
     "role": "http://ruger.com/role/ScheduleofRollForwardforProductLiabilityReserveTable",
     "longName": "996046 - Disclosure - Contingent Liabilities (Details) - Schedule of Roll-Forward for Product Liability Reserve",
     "shortName": "Contingent Liabilities (Details) - Schedule of Roll-Forward for Product Liability Reserve",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "79",
     "firstAnchor": {
      "contextRef": "c192",
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c188",
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "unique": true
     }
    },
    "R80": {
     "role": "http://ruger.com/role/ScheduleofProductLiabilityExpenseTable",
     "longName": "996047 - Disclosure - Contingent Liabilities (Details) - Schedule of Product Liability Expense",
     "shortName": "Contingent Liabilities (Details) - Schedule of Product Liability Expense",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "80",
     "firstAnchor": {
      "contextRef": "c201",
      "name": "us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c201",
      "name": "us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R81": {
     "role": "http://ruger.com/role/SubsequentEventsDetails",
     "longName": "996048 - Disclosure - Subsequent Events (Details)",
     "shortName": "Subsequent Events (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "81",
     "firstAnchor": {
      "contextRef": "c204",
      "name": "us-gaap:DividendsPayableAmountPerShare",
      "unitRef": "usdPershares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "us-gaap:SubsequentEventsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c204",
      "name": "us-gaap:DividendsPayableAmountPerShare",
      "unitRef": "usdPershares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "us-gaap:SubsequentEventsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20231231.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Summary of Significant Accounting Policies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock",
     "presentation": [
      "http://ruger.com/role/AccruedDividends"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued Dividends",
        "label": "Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block]",
        "documentation": "The entire disclosure for accounts payable, accrued expenses, and other liabilities that are classified as current at the end of the reporting period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableAndAccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      },
      "http://ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet",
      "http://ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Trade accounts payable and accrued expenses",
        "terseLabel": "Trade accounts payable and accrued expenses",
        "label": "Accounts Payable and Accrued Liabilities, Current",
        "documentation": "Sum of the carrying values as of the balance sheet date of obligations incurred through that date and due within one year (or the operating cycle, if longer), including liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received, taxes, interest, rent and utilities, accrued salaries and bonuses, payroll taxes and fringe benefits."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade Accounts Payable and Accrued Expenses [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
     "presentation": [
      "http://ruger.com/role/TradeAccountsPayableandAccruedExpenses"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade Accounts Payable and Accrued Expenses",
        "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]",
        "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "us-gaap_AccountsPayableTradeCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableTradeCurrent",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable": {
       "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade accounts payable",
        "label": "Accounts Payable, Trade, Current",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r11"
     ]
    },
    "us-gaap_AccountsReceivableGrossCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableGrossCurrent",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ScheduleofTradeReceivablesTable": {
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofTradeReceivablesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade receivables",
        "label": "Accounts Receivable, before Allowance for Credit Loss, Current",
        "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r153",
      "r244",
      "r245",
      "r665"
     ]
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://ruger.com/role/TradeReceivablesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts Receivable [Member]",
        "label": "Accounts Receivable [Member]",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r647"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      },
      "http://ruger.com/role/ScheduleofTradeReceivablesTable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet",
      "http://ruger.com/role/ScheduleofTradeReceivablesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Trade receivables, net",
        "terseLabel": "Trade receivables, net",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r244",
      "r245"
     ]
    },
    "rgr_AccruedDividendsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "AccruedDividendsLineItems",
     "presentation": [
      "http://ruger.com/role/AccruedDividends"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Dividends [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_AccruedDividendsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "AccruedDividendsTable",
     "presentation": [
      "http://ruger.com/role/AccruedDividends"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Dividends [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccruedEmployeeBenefitsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedEmployeeBenefitsCurrent",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee compensation and benefits",
        "label": "Accrued Employee Benefits, Current",
        "documentation": "Carrying value as of the balance sheet date of obligations, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r15"
     ]
    },
    "us-gaap_AccruedIncomeTaxesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedIncomeTaxesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable": {
       "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Federal excise taxes payable",
        "label": "Accrued Income Taxes, Current",
        "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations."
       }
      }
     },
     "auth_ref": [
      "r68",
      "r114"
     ]
    },
    "rgr_AccruedLegalExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "AccruedLegalExpenseMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofProductLiabilityExpenseTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued Legal Expense [Member]",
        "documentation": "Accrued Legal Expense [Member]",
        "label": "Accrued Legal Expense Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet",
      "http://ruger.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less allowances for depreciation",
        "negatedTerseLabel": "Less allowances for depreciation",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r44",
      "r145",
      "r517"
     ]
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Additional402vDisclosureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional 402(v) Disclosure [Text Block]",
        "terseLabel": "Additional 402(v) Disclosure"
       }
      }
     },
     "auth_ref": [
      "r757"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional paid-in capital",
        "label": "Additional Paid in Capital, Common Stock",
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital."
       }
      }
     },
     "auth_ref": [
      "r74"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional Paid-in Capital",
        "label": "Additional Paid-in Capital [Member]",
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders."
       }
      }
     },
     "auth_ref": [
      "r401",
      "r402",
      "r403",
      "r559",
      "r835",
      "r836",
      "r837",
      "r899",
      "r921"
     ]
    },
    "dei_AdditionalSecurities462b": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AdditionalSecurities462b",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Securities. 462(b)"
       }
      }
     },
     "auth_ref": [
      "r801"
     ]
    },
    "dei_AdditionalSecurities462bFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AdditionalSecurities462bFileNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Securities, 462(b), File Number"
       }
      }
     },
     "auth_ref": [
      "r801"
     ]
    },
    "dei_AdditionalSecuritiesEffective413b": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AdditionalSecuritiesEffective413b",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Securities Effective, 413(b)"
       }
      }
     },
     "auth_ref": [
      "r799"
     ]
    },
    "dei_AddressTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AddressTypeDomain",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Address Type [Domain]",
        "documentation": "An entity may have several addresses for different purposes and this domain represents all such types."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation Amount",
        "terseLabel": "Adjustment to Compensation, Amount"
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToCompAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation [Axis]",
        "terseLabel": "Adjustment to Compensation:"
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToNonPeoNeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]",
        "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote"
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToPeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment To PEO Compensation, Footnote [Text Block]",
        "terseLabel": "Adjustment To PEO Compensation, Footnote"
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vesting of RSU\u2019s",
        "label": "APIC, Share-Based Payment Arrangement, Restricted Stock Unit, Increase for Cost Recognition",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for restricted stock unit under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation",
        "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r54",
      "r367"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustments to reconcile net income to cash provided by operating activities, net of effects of acquisition:",
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdvertisingCostsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdvertisingCostsPolicyTextBlock",
     "presentation": [
      "http://ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Advertising Costs",
        "label": "Advertising Cost [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for advertising cost."
       }
      }
     },
     "auth_ref": [
      "r129"
     ]
    },
    "us-gaap_AdvertisingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdvertisingExpense",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Advertising expenses",
        "label": "Advertising Expense",
        "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line."
       }
      }
     },
     "auth_ref": [
      "r405"
     ]
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Amount",
        "terseLabel": "Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r719",
      "r731",
      "r747",
      "r775"
     ]
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AggtErrCompNotYetDeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]",
        "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined"
       }
      }
     },
     "auth_ref": [
      "r722",
      "r734",
      "r750",
      "r778"
     ]
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllAdjToCompMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Adjustments to Compensation [Member]",
        "terseLabel": "All Adjustments to Compensation"
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Executive Categories [Member]",
        "terseLabel": "All Executive Categories"
       }
      }
     },
     "auth_ref": [
      "r770"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllIndividualsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Individuals [Member]",
        "terseLabel": "All Individuals"
       }
      }
     },
     "auth_ref": [
      "r726",
      "r735",
      "r751",
      "r770",
      "r779",
      "r783",
      "r791"
     ]
    },
    "ecd_AllTradingArrangementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllTradingArrangementsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Trading Arrangements [Member]",
        "terseLabel": "All Trading Arrangements"
       }
      }
     },
     "auth_ref": [
      "r789"
     ]
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllocatedShareBasedCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total stock-based compensation",
        "label": "Share-Based Payment Arrangement, Expense",
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized."
       }
      }
     },
     "auth_ref": [
      "r397",
      "r404"
     ]
    },
    "rgr_AllowanceForDiscountsAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "AllowanceForDiscountsAccountsReceivableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ScheduleofTradeReceivablesTable": {
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofTradeReceivablesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Allowance for discounts",
        "documentation": "Allowance For Discounts Accounts Receivable Current",
        "label": "Allowance For Discounts Accounts Receivable Current"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ScheduleofTradeReceivablesTable": {
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofTradeReceivablesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Allowance for doubtful accounts",
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r154",
      "r248",
      "r283"
     ]
    },
    "dei_AmendmentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentDescription",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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://xbrl.sec.gov/dei/role/document/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": []
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Patent amortization",
        "label": "Amortization of Intangible Assets",
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r39",
      "r42"
     ]
    },
    "dei_AnnualInformationForm": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AnnualInformationForm",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r727"
     ]
    },
    "dei_ApproximateDateOfCommencementOfProposedSaleToThePublic": {
     "xbrltype": "dateOrAsapItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "ApproximateDateOfCommencementOfProposedSaleToThePublic",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Approximate Date of Commencement of Proposed Sale to Public",
        "documentation": "The approximate date of a commencement of a proposed sale of securities to the public. This element is disclosed in S-1, S-3, S-4, S-11, F-1, F-3 and F-10 filings."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet",
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Assets",
        "terseLabel": "Identifiable Assets",
        "label": "Assets",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r113",
      "r149",
      "r171",
      "r214",
      "r229",
      "r235",
      "r280",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r433",
      "r435",
      "r447",
      "r511",
      "r595",
      "r685",
      "r698",
      "r861",
      "r862",
      "r905"
     ]
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Current Assets",
        "label": "Assets, Current",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r140",
      "r157",
      "r171",
      "r280",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r433",
      "r435",
      "r447",
      "r685",
      "r861",
      "r862",
      "r905"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current Assets",
        "label": "Assets, Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditedAnnualFinancialStatements": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditedAnnualFinancialStatements",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r727"
     ]
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r711",
      "r714",
      "r727"
     ]
    },
    "dei_AuditorLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorLocation",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r711",
      "r714",
      "r727"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r711",
      "r714",
      "r727"
     ]
    },
    "dei_AuditorTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorTable",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_AugustTwentyEightToOctoberOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "AugustTwentyEightToOctoberOneMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "August 28 to October 1 [Member]",
        "label": "August Twenty Eight To October One Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AwardDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardDateAxis",
     "presentation": [
      "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Date [Axis]",
        "documentation": "Information by date or year award under share-based payment arrangement is granted."
       }
      }
     },
     "auth_ref": [
      "r866",
      "r867",
      "r868",
      "r869",
      "r870",
      "r871",
      "r872",
      "r873",
      "r874",
      "r875",
      "r876",
      "r877",
      "r878",
      "r879",
      "r880",
      "r881",
      "r882",
      "r883",
      "r884",
      "r885",
      "r886",
      "r887",
      "r888",
      "r889",
      "r890",
      "r891"
     ]
    },
    "us-gaap_AwardDateDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardDateDomain",
     "presentation": [
      "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Date [Domain]",
        "documentation": "Date or year award under share-based payment arrangement is granted."
       }
      }
     },
     "auth_ref": [
      "r866",
      "r867",
      "r868",
      "r869",
      "r870",
      "r871",
      "r872",
      "r873",
      "r874",
      "r875",
      "r876",
      "r877",
      "r878",
      "r879",
      "r880",
      "r881",
      "r882",
      "r883",
      "r884",
      "r885",
      "r886",
      "r887",
      "r888",
      "r889",
      "r890",
      "r891"
     ]
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Exercise Price",
        "terseLabel": "Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r786"
     ]
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardGrantDateFairValue",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Grant Date Fair Value",
        "terseLabel": "Fair Value as of Grant Date"
       }
      }
     },
     "auth_ref": [
      "r787"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgDiscLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Disclosures [Line Items]",
        "terseLabel": "Award Timing Disclosures"
       }
      }
     },
     "auth_ref": [
      "r782"
     ]
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgHowMnpiCnsdrdTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing, How MNPI Considered [Text Block]",
        "terseLabel": "Award Timing, How MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r782"
     ]
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Method [Text Block]",
        "terseLabel": "Award Timing Method"
       }
      }
     },
     "auth_ref": [
      "r782"
     ]
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMnpiCnsdrdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Considered [Flag]",
        "terseLabel": "Award Timing MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r782"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMnpiDiscTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Disclosure [Text Block]",
        "terseLabel": "Award Timing MNPI Disclosure"
       }
      }
     },
     "auth_ref": [
      "r782"
     ]
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgPredtrmndFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Predetermined [Flag]",
        "terseLabel": "Award Timing Predetermined"
       }
      }
     },
     "auth_ref": [
      "r782"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails",
      "http://ruger.com/role/ScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Underlying Securities Amount",
        "terseLabel": "Underlying Securities"
       }
      }
     },
     "auth_ref": [
      "r785"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r784"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures"
       }
      }
     },
     "auth_ref": [
      "r783"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures, Table"
       }
      }
     },
     "auth_ref": [
      "r783"
     ]
    },
    "us-gaap_BuildingAndBuildingImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BuildingAndBuildingImprovementsMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Buildings and improvements [Member]",
        "label": "Building and Building Improvements [Member]",
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BuildingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BuildingMember",
     "presentation": [
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Building [Member]",
        "label": "Building [Member]",
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities."
       }
      }
     },
     "auth_ref": [
      "r102"
     ]
    },
    "dei_BusinessContactMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "BusinessContactMember",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Contact [Member]",
        "documentation": "Business contact for the entity"
       }
      }
     },
     "auth_ref": [
      "r714",
      "r727"
     ]
    },
    "rgr_CapitalExpendituresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "CapitalExpendituresAbstract",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capital Expenditures",
        "label": "Capital Expenditures Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes": {
     "xbrltype": "durationItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "CapitalizedAndAmortizedOverForIncomeTaxPurposes",
     "presentation": [
      "http://ruger.com/role/IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capitalized and amortized over for income tax purposes",
        "documentation": "Capitalized and amortized over for income tax purposes.",
        "label": "Capitalized And Amortized Over For Income Tax Purposes"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash and cash equivalents",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r143",
      "r663"
     ]
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "presentation": [
      "http://ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash and Cash Equivalents",
        "label": "Cash and Cash Equivalents, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value."
       }
      }
     },
     "auth_ref": [
      "r25"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Cash and cash equivalents at beginning of year",
        "periodEndLabel": "Cash and cash equivalents at end of year",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r93",
      "r169"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "(Decrease) increase in cash and cash equivalents",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect",
        "documentation": "Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r93"
     ]
    },
    "rgr_CastingsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "CastingsAbstract",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Castings",
        "label": "Castings Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_CastingsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "CastingsMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Castings [Member]",
        "label": "Castings Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_CastingsSalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "CastingsSalesMember",
     "presentation": [
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Castings Sales [Member]",
        "label": "Castings Sales Member"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ChangedPeerGroupFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changed Peer Group, Footnote [Text Block]",
        "terseLabel": "Changed Peer Group, Footnote"
       }
      }
     },
     "auth_ref": [
      "r761"
     ]
    },
    "rgr_ChristopherJKilloyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ChristopherJKilloyMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Christopher J. Killoy [Member]",
        "label": "Christopher JKilloy Member"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ClassOfStockDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ClassOfStockDomain",
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet",
      "http://ruger.com/role/ConsolidatedBalanceSheet_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Domain]",
        "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock."
       }
      }
     },
     "auth_ref": [
      "r136",
      "r150",
      "r151",
      "r152",
      "r171",
      "r193",
      "r197",
      "r199",
      "r201",
      "r208",
      "r209",
      "r280",
      "r321",
      "r323",
      "r324",
      "r325",
      "r328",
      "r329",
      "r331",
      "r332",
      "r333",
      "r334",
      "r336",
      "r447",
      "r550",
      "r551",
      "r552",
      "r553",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r583",
      "r604",
      "r627",
      "r641",
      "r642",
      "r643",
      "r644",
      "r645",
      "r809",
      "r832",
      "r839"
     ]
    },
    "us-gaap_ClassOfTreasuryStockTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ClassOfTreasuryStockTable",
     "presentation": [
      "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Treasury Stock [Table]",
        "documentation": "Disclosure of information about treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r46",
      "r47",
      "r48"
     ]
    },
    "ecd_CoSelectedMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CoSelectedMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Amount",
        "terseLabel": "Company Selected Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r762"
     ]
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CoSelectedMeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Name",
        "terseLabel": "Company Selected Measure Name"
       }
      }
     },
     "auth_ref": [
      "r762"
     ]
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contingent liabilities (Note 20)",
        "label": "Commitments and Contingencies",
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r65",
      "r512",
      "r582"
     ]
    },
    "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockCapitalSharesReservedForFutureIssuance",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "reserved shares for future issuance",
        "label": "Common Stock, Capital Shares Reserved for Future Issuance",
        "documentation": "Aggregate number of common shares reserved for future issuance."
       }
      }
     },
     "auth_ref": [
      "r18"
     ]
    },
    "us-gaap_CommonStockDividendsPerShareDeclared": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockDividendsPerShareDeclared",
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash Dividends Per Share (in Dollars per share)",
        "label": "Common Stock, Dividends, Per Share, Declared",
        "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding."
       }
      }
     },
     "auth_ref": [
      "r105"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet",
      "http://ruger.com/role/ConsolidatedBalanceSheet_Parentheticals",
      "http://ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common Stock",
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r688",
      "r689",
      "r690",
      "r692",
      "r693",
      "r694",
      "r695",
      "r835",
      "r836",
      "r899",
      "r918",
      "r921"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, par value per share (in Dollars per share)",
        "label": "Common Stock, Par or Stated Value Per Share",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r73"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, shares authorized",
        "label": "Common Stock, Shares Authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r73",
      "r583"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, shares issued",
        "label": "Common Stock, Shares, Issued",
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r73"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, shares outstanding",
        "label": "Common Stock, Shares, Outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r73",
      "r583",
      "r601",
      "r921",
      "r922"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Authorized shares \u2013 50,000; none issued",
        "label": "Common Stock, Value, Issued",
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r73",
      "r513",
      "r685"
     ]
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Company Selected Measure"
       }
      }
     },
     "auth_ref": [
      "r767"
     ]
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsNetIncomeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Net Income [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Net Income"
       }
      }
     },
     "auth_ref": [
      "r766"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsOtherMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Other Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Other Measure"
       }
      }
     },
     "auth_ref": [
      "r768"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return"
       }
      }
     },
     "auth_ref": [
      "r765"
     ]
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Benefit Plans [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_CompensationPlansDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "CompensationPlansDetailsTable",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Plans (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://ruger.com/role/OperatingSegmentInformationDetails",
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Domain]",
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r31",
      "r33",
      "r61",
      "r62",
      "r243",
      "r647"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://ruger.com/role/OperatingSegmentInformationDetails",
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails",
      "http://ruger.com/role/TradeReceivablesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r31",
      "r33",
      "r61",
      "r62",
      "r243",
      "r547",
      "r647"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://ruger.com/role/OperatingSegmentInformationDetails",
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails",
      "http://ruger.com/role/TradeReceivablesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Axis]",
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender."
       }
      }
     },
     "auth_ref": [
      "r31",
      "r33",
      "r61",
      "r62",
      "r243",
      "r647",
      "r813"
     ]
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskLineItems",
     "presentation": [
      "http://ruger.com/role/OperatingSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Segment Information [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r647"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://ruger.com/role/OperatingSegmentInformationDetails",
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails",
      "http://ruger.com/role/TradeReceivablesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Percentage of sales",
        "verboseLabel": "Total trade receivables",
        "label": "Concentration Risk, Percentage",
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division."
       }
      }
     },
     "auth_ref": [
      "r31",
      "r33",
      "r61",
      "r62",
      "r243"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://ruger.com/role/OperatingSegmentInformationDetails",
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Domain]",
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration."
       }
      }
     },
     "auth_ref": [
      "r31",
      "r33",
      "r61",
      "r62",
      "r243",
      "r647"
     ]
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConsolidationPolicyTextBlock",
     "presentation": [
      "http://ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Principles of Consolidation",
        "label": "Consolidation, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r666"
     ]
    },
    "dei_ContactPersonnelEmailAddress": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "ContactPersonnelEmailAddress",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contact Personnel Email Address",
        "documentation": "Email address of contact personnel."
       }
      }
     },
     "auth_ref": []
    },
    "dei_ContactPersonnelFaxNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "ContactPersonnelFaxNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contact Personnel Fax Number",
        "documentation": "Fax Number of contact personnel."
       }
      }
     },
     "auth_ref": [
      "r714"
     ]
    },
    "dei_ContactPersonnelName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "ContactPersonnelName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contact Personnel Name",
        "documentation": "Name of contact personnel"
       }
      }
     },
     "auth_ref": []
    },
    "dei_ContainedFileInformationFileDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "ContainedFileInformationFileDescription",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contained File Information, File Description",
        "documentation": "The description of the contained file."
       }
      }
     },
     "auth_ref": []
    },
    "dei_ContainedFileInformationFileName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "ContainedFileInformationFileName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contained File Information, File Name",
        "documentation": "The name of the contained file."
       }
      }
     },
     "auth_ref": []
    },
    "dei_ContainedFileInformationFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "ContainedFileInformationFileNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contained File Information, File Number",
        "documentation": "The SEC Document Number of the contained file."
       }
      }
     },
     "auth_ref": []
    },
    "dei_ContainedFileInformationFileType": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "ContainedFileInformationFileType",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contained File Information, File Type",
        "documentation": "The type or format of the contained file (usually XBRL but may be used for other types such as HTML, Word, PDF, GIF/JPG, etc.)."
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ContingentLiabilitiesDetailsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ContingentLiabilitiesDetailsLineItems",
     "presentation": [
      "http://ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contingent Liabilities (Details) [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ContingentLiabilitiesDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ContingentLiabilitiesDetailsTable",
     "presentation": [
      "http://ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contingent Liabilities (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ScheduleofRevenueRecognizedTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Contract liabilities with customers at January 1,",
        "periodEndLabel": "Contract liabilities with customers at December 31,",
        "label": "Contract with Customer, Liability",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r338",
      "r339",
      "r348"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet",
      "http://ruger.com/role/RevenueRecognitionandContractswithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract liabilities with customers (Note 2)",
        "verboseLabel": "Deferred contract revenue liability",
        "label": "Contract with Customer, Liability, Current",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r338",
      "r339",
      "r348"
     ]
    },
    "us-gaap_CorporateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CorporateMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Corporate Member",
        "label": "Corporate Segment [Member]",
        "documentation": "Component of an entity that usually provides financial, operational and administrative support and is considered an operating segment. Excludes intersegment elimination and reconciling items."
       }
      }
     },
     "auth_ref": [
      "r841"
     ]
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfGoodsAndServicesSold",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cost of products sold",
        "label": "Cost of Goods and Services Sold",
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities."
       }
      }
     },
     "auth_ref": [
      "r85",
      "r504"
     ]
    },
    "dei_CountryRegion": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CountryRegion",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": []
    },
    "us-gaap_CreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CreditFacilityAxis",
     "presentation": [
      "http://ruger.com/role/LineofCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility [Axis]",
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditFacilityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CreditFacilityDomain",
     "presentation": [
      "http://ruger.com/role/LineofCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility [Domain]",
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentFederalStateAndLocalTaxExpenseBenefitAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Federal and State Income Tax Provision [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentFederalTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Federal, current",
        "label": "Current Federal Tax Expense (Benefit)",
        "documentation": "Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r816",
      "r834",
      "r897"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": []
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current",
        "label": "Current Income Tax Expense (Benefit)",
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r112",
      "r422",
      "r428",
      "r834"
     ]
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State, current",
        "label": "Current State and Local Tax Expense (Benefit)",
        "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r816",
      "r834",
      "r897"
     ]
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerConcentrationRiskMember",
     "presentation": [
      "http://ruger.com/role/OperatingSegmentInformationDetails",
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails",
      "http://ruger.com/role/TradeReceivablesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer Concentration Risk [Member]",
        "label": "Customer Concentration Risk [Member]",
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r243"
     ]
    },
    "rgr_CustomerOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "CustomerOneMember",
     "presentation": [
      "http://ruger.com/role/TradeReceivablesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer One [Member]",
        "documentation": "Customer One [Member]",
        "label": "Customer One Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CustomerRelationshipsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerRelationshipsMember",
     "presentation": [
      "http://ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer Relationships [Member]",
        "label": "Customer Relationships [Member]",
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships."
       }
      }
     },
     "auth_ref": [
      "r57"
     ]
    },
    "rgr_CustomerThreeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "CustomerThreeMember",
     "presentation": [
      "http://ruger.com/role/TradeReceivablesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer Three [Member]",
        "documentation": "Customer Three [Member]",
        "label": "Customer Three Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_CustomerTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "CustomerTwoMember",
     "presentation": [
      "http://ruger.com/role/TradeReceivablesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer Two [Member]",
        "documentation": "Customer Two [Member]",
        "label": "Customer Two Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_DavidsonsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "DavidsonsMember",
     "presentation": [
      "http://ruger.com/role/OperatingSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Davidsons [Member]",
        "documentation": "Davidsons [Member]",
        "label": "Davidsons Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredCompensationArrangementWithIndividualCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Compensation expense",
        "label": "Deferred Compensation Arrangement with Individual, Compensation Expense",
        "documentation": "The compensation expense recognized during the period pertaining to the deferred compensation arrangement."
       }
      }
     },
     "auth_ref": [
      "r49",
      "r107"
     ]
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredCompensationArrangementWithIndividualSharesIssued",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred stock awards amount",
        "label": "Deferred Compensation Arrangement with Individual, Shares Issued",
        "documentation": "Number of shares issued pursuant to the terms of a deferred compensation arrangement."
       }
      }
     },
     "auth_ref": [
      "r52"
     ]
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Federal, deferred",
        "label": "Deferred Federal Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r834",
      "r896",
      "r897"
     ]
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred income taxes",
        "label": "Deferred Income Tax Assets, Net",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r411",
      "r412"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred",
        "label": "Deferred Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r112",
      "r133",
      "r427",
      "r428",
      "r834"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total deferred tax liabilities",
        "label": "Deferred Tax Liabilities, Gross",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r71",
      "r115",
      "r418"
     ]
    },
    "us-gaap_DeferredOtherTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredOtherTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred income taxes",
        "label": "Deferred Other Tax Expense (Benefit)",
        "documentation": "Amount of other deferred income tax expense (benefit) pertaining to income (loss) from continuing operations. For example, but not limited to, acquisition-date income tax benefits or expenses recognized from changes in the acquirer's valuation allowance for its previously existing deferred tax assets resulting from a business combination and adjustments to beginning-of-year balance of a valuation allowance because of a change in circumstance causing a change in judgment about the realizability of the related deferred tax asset in future periods."
       }
      }
     },
     "auth_ref": [
      "r56",
      "r111",
      "r834"
     ]
    },
    "us-gaap_DeferredRevenueAdditions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredRevenueAdditions",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/RevenueRecognitionandContractswithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Company deferred revenue",
        "label": "Deferred Revenue, Additions",
        "documentation": "Amount of deferred revenue recognized for transactions arising during the current reporting period. Deferred revenue is a liability as of the balance sheet date related to a revenue producing activity for which revenue has not yet been recognized. Generally, an Entity records deferred revenue when it receives consideration from a customer before achieving certain criteria that must be met for revenue to be recognized in conformity with GAAP."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredRevenueRevenueRecognized1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredRevenueRevenueRecognized1",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/RevenueRecognitionandContractswithCustomersDetails",
      "http://ruger.com/role/ScheduleofRevenueRecognizedTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Revenue recognized",
        "terseLabel": "Recognized deferred revenue",
        "label": "Deferred Revenue, Revenue Recognized",
        "documentation": "Amount of revenue recognized that was previously reported as deferred or unearned revenue."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State, deferred",
        "label": "Deferred State and Local Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r834",
      "r896",
      "r897"
     ]
    },
    "rgr_DeferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "DeferredStockMember",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred Stock [Member]",
        "documentation": "Deferred Stock [Member]",
        "label": "Deferred Stock Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_DeferredTaxAssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "DeferredTaxAssetsAbstract",
     "presentation": [
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax assets",
        "label": "Deferred Tax Assets Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsInProcessResearchAndDevelopment",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capitalized research and development costs",
        "label": "Deferred Tax Assets, in Process Research and Development",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from in-process research and development costs expensed in connection with a business combination."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r895"
     ]
    },
    "us-gaap_DeferredTaxAssetsInventory": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsInventory",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories",
        "label": "Deferred Tax Assets, Inventory",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r895"
     ]
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net deferred tax assets",
        "label": "Deferred Tax Assets, Net",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r894"
     ]
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total deferred tax assets",
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r894"
     ]
    },
    "us-gaap_DeferredTaxAssetsNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsNetAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Deferred Tax Assets and Liabilities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOther",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other",
        "label": "Deferred Tax Assets, Other",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r895"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee compensation and benefits",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Employee Compensation",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from employee compensation."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r895"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r895"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Allowances for doubtful accounts and discounts",
        "label": "Deferred Tax Asset, Tax Deferred Expense, Reserve and Accrual, Accounts Receivable, Allowance for Credit Loss",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r895"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesAbstract",
     "presentation": [
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax liabilities:",
        "label": "Deferred Tax Liabilities, Gross [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilitiesOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesOther",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other",
        "label": "Deferred Tax Liabilities, Other",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences classified as other."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r895"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Depreciation",
        "label": "Deferred Tax Liabilities, Property, Plant and Equipment",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r895"
     ]
    },
    "us-gaap_DefinedContributionPlanAdministrativeExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedContributionPlanAdministrativeExpenses",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/EmployeeBenefitPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expenses related to matching employee contributions",
        "label": "Defined Contribution Plan, Administrative Expense",
        "documentation": "Amount of administrative expense incurred by defined contribution plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/EmployeeBenefitPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Supplemental contributions total",
        "label": "Defined Contribution Plan, Employer Discretionary Contribution Amount",
        "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DelayedOrContinuousOffering": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DelayedOrContinuousOffering",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Delayed or Continuous Offering"
       }
      }
     },
     "auth_ref": [
      "r739",
      "r740",
      "r754"
     ]
    },
    "rgr_DenominatorAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "DenominatorAbstract",
     "presentation": [
      "http://ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Denominator:",
        "label": "Denominator Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DepositAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepositAssets",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ScheduleofOtherAssetsTable": {
       "parentTag": "us-gaap_OtherAssetsNoncurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofOtherAssetsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deposits on capital items",
        "label": "Deposit Assets",
        "documentation": "The carrying amount of the asset transferred to a third party to serve as a deposit, which typically serves as security against failure by the transferor to perform under terms of an agreement."
       }
      }
     },
     "auth_ref": [
      "r824"
     ]
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Depreciation",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/PropertyPlantandEquipmentDetails",
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Depreciation",
        "verboseLabel": "Depreciation expense",
        "label": "Depreciation",
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r43"
     ]
    },
    "us-gaap_DepreciationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepreciationAbstract",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Depreciation",
        "label": "Depreciation [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepreciationDepletionAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Depreciation and amortization",
        "label": "Depreciation, Depletion and Amortization",
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r219"
     ]
    },
    "us-gaap_DerivativeInstrumentDetailAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeInstrumentDetailAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Instruments [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_DirectorMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "DirectorMember",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-Employee Directors [Member]",
        "label": "Director [Member]"
       }
      }
     },
     "auth_ref": [
      "r844",
      "r919"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://ruger.com/role/CompensationPlans"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Compensation Plans",
        "label": "Share-Based Payment Arrangement [Text Block]",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r365",
      "r370",
      "r398",
      "r399",
      "r400",
      "r682"
     ]
    },
    "us-gaap_DisclosureTextBlockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureTextBlockAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Leased Assets [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisclosureTextBlockSupplementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureTextBlockSupplementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Disclosure Text Block Supplement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DividendOrInterestReinvestmentPlanOnly": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DividendOrInterestReinvestmentPlanOnly",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividend or Interest Reinvestment Plan Only"
       }
      }
     },
     "auth_ref": [
      "r739",
      "r740",
      "r754"
     ]
    },
    "us-gaap_DividendsCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DividendsCommonStock",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Dividends paid",
        "label": "Dividends, Common Stock",
        "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash, stock and payment-in-kind (PIK)."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r105"
     ]
    },
    "rgr_DividendsCommonStockUnpaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "DividendsCommonStockUnpaid",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Unpaid dividends accrued",
        "documentation": "Amount of dividends declared, but unpaid, during period.",
        "label": "Dividends Common Stock Unpaid"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DividendsPayableAmountPerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DividendsPayableAmountPerShare",
     "presentation": [
      "http://ruger.com/role/AccruedDividendsDetails",
      "http://ruger.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dividend per share",
        "verboseLabel": "Dividend authorized",
        "label": "Dividends Payable, Amount Per Share",
        "documentation": "The per share amount of a dividend declared, but not paid, as of the financial reporting date."
       }
      }
     },
     "auth_ref": [
      "r27"
     ]
    },
    "us-gaap_DividendsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DividendsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dividends payable",
        "label": "Dividends Payable, Current",
        "documentation": "Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r15"
     ]
    },
    "us-gaap_DividendsPayableCurrentAndNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DividendsPayableCurrentAndNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/AccruedDividendsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dividend total",
        "label": "Dividends Payable",
        "documentation": "Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding."
       }
      }
     },
     "auth_ref": [
      "r68",
      "r69",
      "r116",
      "r696",
      "r914"
     ]
    },
    "dei_DocumentAccountingStandard": {
     "xbrltype": "accountingStandardItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAccountingStandard",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r714"
     ]
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r711",
      "r714",
      "r727"
     ]
    },
    "dei_DocumentCopyrightInformation": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentCopyrightInformation",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Copyright Information",
        "documentation": "The copyright information for the document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentCreationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentCreationDate",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Creation Date",
        "documentation": "The date the document was made available and submitted, in YYYY-MM-DD format. The date of submission, date of acceptance by the recipient, and the document effective date are all potentially different."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentDescription",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Description",
        "documentation": "The description of the document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentDomain",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document [Domain]",
        "documentation": "Type of the document as assigned by the filer, corresponding to SEC document naming convention standards."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentEffectiveDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentEffectiveDate",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Effective Date",
        "documentation": "The date when a document, upon receipt and acceptance, becomes officially effective, in YYYY-MM-DD format. Usually it is a system-assigned date time value, but it may be declared by the submitter in some cases."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Financial Statement Error Correction [Flag]",
        "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction."
       }
      }
     },
     "auth_ref": [
      "r711",
      "r714",
      "r727",
      "r771"
     ]
    },
    "dei_DocumentFinStmtRestatementRecoveryAnalysisFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFinStmtRestatementRecoveryAnalysisFlag",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Financial Statement Restatement Recovery Analysis [Flag]",
        "documentation": "Indicates whether any of the financial statement periods include restatements that required a recovery analysis of incentive-based compensation received by any of the registrant's executive officers during the relevant recovery period pursuant to \u00a7240.10D-1(b)."
       }
      }
     },
     "auth_ref": [
      "r711",
      "r714",
      "r727",
      "r771"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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://xbrl.sec.gov/dei/role/document/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_DocumentInformationDocumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentInformationDocumentAxis",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Information, Document [Axis]",
        "documentation": "The axis of a table defines the relationship between the domain members or categories in the table and the line items or concepts that complete the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentInformationLineItems",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Information [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentInformationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentInformationTable",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Information [Table]",
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentInformationTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Information [Text Block]",
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Name",
        "documentation": "Name of the document as assigned by the filer, corresponding to SEC document naming convention standards. Examples appear in the &lt;FILENAME> field of EDGAR filings, such as 'htm_25911.htm', 'exhibit1.htm', 'v105727_8k.txt'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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://xbrl.sec.gov/dei/role/document/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://xbrl.sec.gov/dei/role/document/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": [
      "r712"
     ]
    },
    "dei_DocumentRegistrationStatement": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentRegistrationStatement",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r700"
     ]
    },
    "dei_DocumentShellCompanyEventDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentShellCompanyEventDate",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Event Date",
        "documentation": "Date of event requiring a shell company report."
       }
      }
     },
     "auth_ref": [
      "r714"
     ]
    },
    "dei_DocumentShellCompanyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentShellCompanyReport",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r714"
     ]
    },
    "dei_DocumentSubtitle": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentSubtitle",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Subtitle",
        "documentation": "The subtitle given to the document resource by the creator or publisher. An example is 'A New Period of Growth'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentSynopsis": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentSynopsis",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Synopsis",
        "documentation": "A synopsis or description of the document provided by the creator or publisher. Examples are 'This is the 2006 annual report for Company. During this period we saw revenue grow by 10% and earnings per share grow by 15% over the prior period'"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentTitle": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTitle",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Title",
        "documentation": "The name or title given to the document resource by the creator or publisher. An example is '2002 Annual Report'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r755"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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_DocumentVersion": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentVersion",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Version",
        "documentation": "The version identifier of the document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Documents Incorporated by Reference [Text Block]",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r703"
     ]
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement",
      "http://ruger.com/role/ScheduleofQuarterlyFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Basic Earnings Per Share (in Dollars per share)",
        "verboseLabel": "Basic earnings per share (in Dollars per share)",
        "label": "Earnings Per Share, Basic",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r166",
      "r181",
      "r182",
      "r183",
      "r184",
      "r185",
      "r191",
      "r193",
      "r199",
      "r200",
      "r201",
      "r205",
      "r445",
      "r446",
      "r508",
      "r522",
      "r669"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement",
      "http://ruger.com/role/ScheduleofQuarterlyFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Diluted Earnings Per Share (in Dollars per share)",
        "verboseLabel": "Diluted earnings per share (in Dollars per share)",
        "label": "Earnings Per Share, Diluted",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r166",
      "r181",
      "r182",
      "r183",
      "r184",
      "r185",
      "r193",
      "r199",
      "r200",
      "r201",
      "r205",
      "r445",
      "r446",
      "r508",
      "r522",
      "r669"
     ]
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Earnings per Share",
        "label": "Earnings Per Share, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r29"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://ruger.com/role/EarningsPerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Earnings Per Share",
        "label": "Earnings Per Share [Text Block]",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r190",
      "r202",
      "r203",
      "r204"
     ]
    },
    "us-gaap_EffectOfFourthQuarterEventsByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectOfFourthQuarterEventsByTypeAxis",
     "presentation": [
      "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of Fourth Quarter Event Type [Axis]",
        "documentation": "Information by type of event or transaction that occurred during the fourth quarter."
       }
      }
     },
     "auth_ref": [
      "r30"
     ]
    },
    "us-gaap_EffectOfFourthQuarterEventsTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectOfFourthQuarterEventsTypeDomain",
     "presentation": [
      "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of Fourth Quarter Events, Type [Domain]",
        "documentation": "The type of event or transaction having a material effect on fourth quarter and fiscal year results."
       }
      }
     },
     "auth_ref": [
      "r30"
     ]
    },
    "dei_EffectiveAfter60Days486a": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EffectiveAfter60Days486a",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective after 60 Days, 486(a)"
       }
      }
     },
     "auth_ref": [
      "r805"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "calculation": {
      "http://ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://ruger.com/role/IncomeTaxesDetails",
      "http://ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statutory federal income tax rate",
        "verboseLabel": "Fedral tax rate",
        "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent",
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)."
       }
      }
     },
     "auth_ref": [
      "r172",
      "r414",
      "r429"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate",
     "calculation": {
      "http://ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Effective income tax rate",
        "label": "Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the income tax rates."
       }
      }
     },
     "auth_ref": [
      "r429",
      "r893"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "calculation": {
      "http://ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other",
        "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments."
       }
      }
     },
     "auth_ref": [
      "r893",
      "r898"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "calculation": {
      "http://ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State income taxes, net of federal tax benefit",
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r893",
      "r898"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCreditsResearch",
     "calculation": {
      "http://ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Research and development tax credits",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit."
       }
      }
     },
     "auth_ref": [
      "r893",
      "r898"
     ]
    },
    "dei_EffectiveOnDate486a": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EffectiveOnDate486a",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective on Date, 486(a)"
       }
      }
     },
     "auth_ref": [
      "r805"
     ]
    },
    "dei_EffectiveOnDate486b": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EffectiveOnDate486b",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective on Date, 486(b)"
       }
      }
     },
     "auth_ref": [
      "r806"
     ]
    },
    "dei_EffectiveOnSetDate486a": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EffectiveOnSetDate486a",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective on Set Date, 486(a)"
       }
      }
     },
     "auth_ref": [
      "r805"
     ]
    },
    "dei_EffectiveOnSetDate486b": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EffectiveOnSetDate486b",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective on Set Date, 486(b)"
       }
      }
     },
     "auth_ref": [
      "r806"
     ]
    },
    "dei_EffectiveUponFiling462e": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EffectiveUponFiling462e",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Upon Filing, 462(e)"
       }
      }
     },
     "auth_ref": [
      "r804"
     ]
    },
    "dei_EffectiveUponFiling486b": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EffectiveUponFiling486b",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective upon Filing, 486(b)"
       }
      }
     },
     "auth_ref": [
      "r806"
     ]
    },
    "dei_EffectiveWhenDeclaredSection8c": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EffectiveWhenDeclaredSection8c",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective when Declared, Section 8(c)"
       }
      }
     },
     "auth_ref": [
      "r808"
     ]
    },
    "rgr_EliminationsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "EliminationsMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Eliminations [Member]",
        "label": "Eliminations Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_EmployeeBenefitPlansLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "EmployeeBenefitPlansLineItems",
     "presentation": [
      "http://ruger.com/role/EmployeeBenefitPlans"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee Benefit Plans [Abstract]",
        "label": "Employee Benefit Plans Line Items"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_EmployeeBenefitPlansTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "EmployeeBenefitPlansTable",
     "presentation": [
      "http://ruger.com/role/EmployeeBenefitPlans"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Benefit Plans [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_EmployeeCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "EmployeeCompensation",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee compensation",
        "documentation": "Employee compensation.",
        "label": "Employee Compensation"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrecognized compensation cost",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount",
        "documentation": "Amount of cost to be recognized for option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r892"
     ]
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Stock Option [Member]",
        "terseLabel": "Employee Stock Option",
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntitiesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitiesTable",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entities [Table]",
        "documentation": "Container to assemble all relevant information about each entity associated with the document instance"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAccountingStandard": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAccountingStandard",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Accounting Standard",
        "documentation": "The standardized abbreviation of the accounting standard used by the entity. This can either be US GAAP as promulgated by the FASB or IFRS as promulgated by the IASB. Example: 'US GAAP', 'IFRS'.  This is distinct from the Document Accounting Standard element."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressDescription",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Description",
        "documentation": "Description of the kind of address for the entity, if needed to distinguish more finely among mailing, principal, legal, accounting, contact or other addresses."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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://xbrl.sec.gov/dei/role/document/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://xbrl.sec.gov/dei/role/document/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://xbrl.sec.gov/dei/role/document/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://xbrl.sec.gov/dei/role/document/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://xbrl.sec.gov/dei/role/document/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://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressesAddressTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressesAddressTypeAxis",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Addresses, Address Type [Axis]",
        "documentation": "The axis of a table defines the relationship between the domain members or categories in the table and the line items or concepts that complete the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressesLineItems",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Addresses [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressesTable",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Addresses [Table]",
        "documentation": "Container of address information for the entity"
       }
      }
     },
     "auth_ref": [
      "r702"
     ]
    },
    "dei_EntityBankruptcyProceedingsReportingCurrent": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityBankruptcyProceedingsReportingCurrent",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r706"
     ]
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r702"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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_EntityContactPersonnelLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityContactPersonnelLineItems",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Contact Personnel [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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_EntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityDomain",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/AuditInformation",
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity [Domain]",
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r702"
     ]
    },
    "dei_EntityExTransitionPeriod": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityExTransitionPeriod",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Ex 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": [
      "r807"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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://xbrl.sec.gov/dei/role/document/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": [
      "r702"
     ]
    },
    "dei_EntityHomeCountryISOCode": {
     "xbrltype": "countryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityHomeCountryISOCode",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Home Country ISO Code",
        "documentation": "ISO 3166-1 alpha-2 country code for the Entity's home country. If home country is different from country of legal incorporation, then also provide country of legal incorporation in the 'Entity Incorporation, State Country Code' element."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityIncorporationDateOfIncorporation": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationDateOfIncorporation",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, Date of Incorporation",
        "documentation": "Date when an entity was incorporated"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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_EntityInformationFormerLegalOrRegisteredName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInformationFormerLegalOrRegisteredName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Information, Former Legal or Registered Name",
        "documentation": "Former Legal or Registered Name of an entity"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInformationLineItems",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Information [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r797"
     ]
    },
    "dei_EntityInvCompanyType": {
     "xbrltype": "invCompanyType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInvCompanyType",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Inv Company Type",
        "documentation": "One of: N-1A (Mutual Fund), N-1 (Open-End Separate Account with No Variable Annuities), N-2 (Closed-End Investment Company), N-3 (Separate Account Registered as Open-End Management Investment Company), N-4 (Variable Annuity UIT Separate Account), N-5 (Small Business Investment Company), N-6 (Variable Life UIT Separate Account), S-1 or S-3 (Face Amount Certificate Company), S-6 (UIT, Non-Insurance Product)."
       }
      }
     },
     "auth_ref": [
      "r796"
     ]
    },
    "dei_EntityLegalForm": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityLegalForm",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Legal Form",
        "documentation": "The details of the entity's legal form. Examples are partnership, limited liability company, trust, etc."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingDepositoryReceiptRatio": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityListingDepositoryReceiptRatio",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listing, Depository Receipt Ratio",
        "documentation": "The number of underlying shares represented by one American Depository Receipt (ADR) or Global Depository Receipt (GDR). A value of '3' means that one ADR represents 3 underlying shares. If one underlying share represents 2 ADR's then the value would be represented as '0.5'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityListingDescription",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listing, Description",
        "documentation": "Description of the kind of listing the entity has on the exchange, if necessary to further describe different instruments that are already distinguished by Entity, Exchange and Security."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingForeign": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityListingForeign",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listing, Foreign",
        "documentation": "Yes or No value indicating whether this is a listing that is a foreign listing or depository receipt."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingParValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityListingParValuePerShare",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listing, Par Value Per Share",
        "documentation": "The par value per share of security quoted in same currency as Trading currency. Example: '0.01'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingPrimary": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityListingPrimary",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listing, Primary",
        "documentation": "Yes or No value indicating whether a listing of an instrument on an exchange is primary for the entity."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingSecurityTradingCurrency": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityListingSecurityTradingCurrency",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listing, Security Trading Currency",
        "documentation": "The three character ISO 4217 code for the currency in which the security is quoted. Example: 'USD'"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingsExchangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityListingsExchangeAxis",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listings, Exchange [Axis]",
        "documentation": "The axis of a table defines the relationship between the domain members or categories in the table and the line items or concepts that complete the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityListingsLineItems",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listings [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityListingsTable",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listings [Table]",
        "documentation": "Container for exchange listing information for an entity"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityNumberOfEmployees": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityNumberOfEmployees",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Number of Employees",
        "documentation": "Number of persons employed by the Entity"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityPhoneFaxNumbersLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPhoneFaxNumbersLineItems",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Phone Fax Numbers [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityPrimarySicNumber": {
     "xbrltype": "sicNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPrimarySicNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Primary SIC Number",
        "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity."
       }
      }
     },
     "auth_ref": [
      "r727"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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://xbrl.sec.gov/dei/role/document/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": [
      "r702"
     ]
    },
    "dei_EntityReportingCurrencyISOCode": {
     "xbrltype": "currencyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityReportingCurrencyISOCode",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Reporting Currency ISO Code",
        "documentation": "The three character ISO 4217 code for the currency used for reporting purposes. Example: 'USD'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r702"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r702"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r702"
     ]
    },
    "dei_EntityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity [Text Block]",
        "documentation": "Container to serve as parent of six Entity related Table concepts."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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://xbrl.sec.gov/dei/role/document/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": [
      "r798"
     ]
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Component [Domain]",
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r137",
      "r161",
      "r162",
      "r163",
      "r176",
      "r177",
      "r178",
      "r180",
      "r186",
      "r188",
      "r207",
      "r281",
      "r282",
      "r337",
      "r401",
      "r402",
      "r403",
      "r423",
      "r424",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r444",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r461",
      "r542",
      "r543",
      "r544",
      "r559",
      "r627"
     ]
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "EquityValuationAssumptionDifferenceFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Valuation Assumption Difference, Footnote [Text Block]",
        "terseLabel": "Equity Valuation Assumption Difference, Footnote"
       }
      }
     },
     "auth_ref": [
      "r764"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ErrCompAnalysisTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneous Compensation Analysis [Text Block]",
        "terseLabel": "Erroneous Compensation Analysis"
       }
      }
     },
     "auth_ref": [
      "r719",
      "r731",
      "r747",
      "r775"
     ]
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ErrCompRecoveryTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneously Awarded Compensation Recovery [Table]",
        "terseLabel": "Erroneously Awarded Compensation Recovery"
       }
      }
     },
     "auth_ref": [
      "r716",
      "r728",
      "r744",
      "r772"
     ]
    },
    "rgr_ExcessAndObsolescenceInventoryReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ExcessAndObsolescenceInventoryReserves",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Excess and obsolescence inventory reserve",
        "documentation": "Excess and obsolescence inventory reserve.",
        "label": "Excess And Obsolescence Inventory Reserves"
       }
      }
     },
     "auth_ref": []
    },
    "dei_ExchangeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "ExchangeDomain",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exchange [Domain]",
        "documentation": "The set of all exchanges. MIC exchange codes are drawn from ISO 10383."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Category [Axis]",
        "terseLabel": "Executive Category:"
       }
      }
     },
     "auth_ref": [
      "r770"
     ]
    },
    "dei_ExhibitsOnly462d": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "ExhibitsOnly462d",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exhibits Only, 462(d)"
       }
      }
     },
     "auth_ref": [
      "r803"
     ]
    },
    "dei_ExhibitsOnly462dFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "ExhibitsOnly462dFileNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exhibits Only, 462(d), File Number"
       }
      }
     },
     "auth_ref": [
      "r803"
     ]
    },
    "rgr_ExportSalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ExportSalesMember",
     "presentation": [
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Export Sales [Member]",
        "label": "Export Sales Member"
       }
      }
     },
     "auth_ref": []
    },
    "dei_Extension": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Extension",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Extension",
        "documentation": "Extension number for local phone number."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementPolicyPolicyTextBlock",
     "presentation": [
      "http://ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value Measurements of Short-term Investments",
        "label": "Fair Value Measurement, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FederalIncomeTaxNoteTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FederalIncomeTaxNoteTextBlock",
     "presentation": [
      "http://ruger.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Federal and State Income Tax Provision",
        "label": "Federal Income Tax Note [Table Text Block]",
        "documentation": "Tabular disclosure of the federal tax basis of investment holdings. This item captures the aggregate cost of securities, aggregate gross unrealized appreciation for all securities in which there is an excess of value over tax cost, aggregate gross unrealized depreciation for all securities in which there is an excess of tax cost over value, net unrealized appreciation (depreciation), and an explanation of the differences between tax and book."
       }
      }
     },
     "auth_ref": [
      "r917"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Noncurrent portion",
        "label": "Finance Lease, Liability, Noncurrent",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r458"
     ]
    },
    "us-gaap_FinancialInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinancialInstrumentAxis",
     "presentation": [
      "http://ruger.com/role/RevenueRecognitionandContractswithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Instrument [Axis]",
        "documentation": "Information by type of financial instrument."
       }
      }
     },
     "auth_ref": [
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r269",
      "r270",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r291",
      "r330",
      "r335",
      "r443",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r478",
      "r479",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r521",
      "r673",
      "r817",
      "r818",
      "r819",
      "r820",
      "r821",
      "r822",
      "r823",
      "r845",
      "r846",
      "r847",
      "r848"
     ]
    },
    "us-gaap_FinancialInstrumentsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinancialInstrumentsDisclosureTextBlock",
     "presentation": [
      "http://ruger.com/role/FinancialInstruments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Financial Instruments",
        "label": "Financial Instruments Disclosure [Text Block]",
        "documentation": "The entire disclosure for financial instruments. This disclosure includes, but is not limited to, fair value measurements of short and long term marketable securities, international currencies forward contracts, and auction rate securities. Financial instruments may include hedging and non-hedging currency exchange instruments, derivatives, securitizations and securities available for sale at fair value. Also included are investment results, realized and unrealized gains and losses as well as impairments and risk management disclosures."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ScheduleofOtherAssetsTable": {
       "parentTag": "us-gaap_OtherAssetsNoncurrent",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofOtherAssetsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accumulated amortization",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r147",
      "r309"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Estimated annual patent amortization expense after five years",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Five",
        "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Estimated annual patent amortization expense 2023",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r100"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Estimated annual patent amortization expense 2027",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r100"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Estimated annual patent amortization expense 2026",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r100"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Estimated annual patent amortization expense 2025",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r100"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Estimated annual patent amortization expense 2024",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r100"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "documentation": "Information by major type or class of finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r307",
      "r308",
      "r309",
      "r310",
      "r505",
      "r506"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company."
       }
      }
     },
     "auth_ref": [
      "r40",
      "r41"
     ]
    },
    "us-gaap_FiniteLivedPatentsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedPatentsGross",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ScheduleofOtherAssetsTable": {
       "parentTag": "us-gaap_OtherAssetsNoncurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofOtherAssetsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Patents, at cost",
        "label": "Finite-Lived Patents, Gross",
        "documentation": "Gross carrying amount before accumulated amortization as of the balance sheet date of the costs pertaining to the exclusive legal rights granted to the owner of the patent to exploit an invention or a process for a period of time specified by law. Such costs may have been expended to directly apply and receive patent rights, or to acquire such rights."
       }
      }
     },
     "auth_ref": [
      "r99"
     ]
    },
    "us-gaap_FiniteLivedTradeNamesGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedTradeNamesGross",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ScheduleofOtherAssetsTable": {
       "parentTag": "us-gaap_OtherAssetsNoncurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofOtherAssetsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Marlin trade name",
        "label": "Finite-Lived Trade Names, Gross",
        "documentation": "Gross carrying amount before accumulated amortization as of the balance sheet date of the rights acquired through registration of a trade name to gain or protect exclusive use thereof for a reasonably expected period of economic benefit."
       }
      }
     },
     "auth_ref": [
      "r99"
     ]
    },
    "rgr_FirearmsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "FirearmsMember",
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement",
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable",
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net firearms sales",
        "verboseLabel": "Firearms [Member]",
        "documentation": "Firearms [Member]",
        "label": "Firearms Member"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount",
        "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount"
       }
      }
     },
     "auth_ref": [
      "r723",
      "r735",
      "r751",
      "r779"
     ]
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Expense of Enforcement, Amount",
        "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount"
       }
      }
     },
     "auth_ref": [
      "r723",
      "r735",
      "r751",
      "r779"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Violation of Home Country Law, Amount",
        "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount"
       }
      }
     },
     "auth_ref": [
      "r723",
      "r735",
      "r751",
      "r779"
     ]
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Explanation of Impracticability [Text Block]",
        "terseLabel": "Forgone Recovery, Explanation of Impracticability"
       }
      }
     },
     "auth_ref": [
      "r723",
      "r735",
      "r751",
      "r779"
     ]
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r723",
      "r735",
      "r751",
      "r779"
     ]
    },
    "dei_FormerAddressMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "FormerAddressMember",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Former Address [Member]",
        "documentation": "Former address for entity"
       }
      }
     },
     "auth_ref": [
      "r713",
      "r738"
     ]
    },
    "dei_FormerFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "FormerFiscalYearEndDate",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Former Fiscal Year End Date",
        "documentation": "Former end date of previous fiscal years"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_FourthQuarter2022Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "FourthQuarter2022Member",
     "presentation": [
      "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fourth Quarter 2022 [Member]",
        "label": "Fourth Quarter2022 Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_FourthQuarter2023Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "FourthQuarter2023Member",
     "presentation": [
      "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fourth Quarter 2023 [Member]",
        "label": "Fourth Quarter2023 Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GainLossOnSaleOfOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnSaleOfOtherAssets",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ScheduleofOtherOperatingIncomeNetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Gain on sale of operating assets",
        "label": "Gain (Loss) on Disposition of Other Assets",
        "documentation": "Amount of gain (loss) on sale or disposal of other assets."
       }
      }
     },
     "auth_ref": [
      "r831"
     ]
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Gain on sale of assets",
        "label": "Gain (Loss) on Disposition of Property Plant Equipment",
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "General and administrative",
        "label": "General and Administrative Expense",
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r606"
     ]
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Goodwill",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill",
        "label": "Goodwill",
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r146",
      "r296",
      "r507",
      "r674",
      "r685",
      "r851",
      "r852"
     ]
    },
    "rgr_GoodwillAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "GoodwillAbstract",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill",
        "label": "Goodwill Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsGoodwillPolicy",
     "presentation": [
      "http://ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill",
        "label": "Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined."
       }
      }
     },
     "auth_ref": [
      "r295",
      "r306",
      "r674"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement",
      "http://ruger.com/role/ScheduleofQuarterlyFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross profit",
        "terseLabel": "Gross profit",
        "label": "Gross Profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r84",
      "r171",
      "r214",
      "r228",
      "r234",
      "r237",
      "r280",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r447",
      "r670",
      "r861"
     ]
    },
    "dei_IcfrAuditorAttestationFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "IcfrAuditorAttestationFlag",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "auth_ref": [
      "r711",
      "r714",
      "r727"
     ]
    },
    "rgr_IdentifiableAssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "IdentifiableAssetsAbstract",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Identifiable Assets",
        "label": "Identifiable Assets Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "presentation": [
      "http://ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-lived Assets",
        "label": "Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r103"
     ]
    },
    "rgr_IncomeLossBeforeIncomeTaxesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "IncomeLossBeforeIncomeTaxesAbstract",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income (Loss) Before Income Taxes",
        "label": "Income Loss Before Income Taxes Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement",
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income before income taxes",
        "terseLabel": "Income (Loss) Before Income Taxes",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r82",
      "r120",
      "r214",
      "r228",
      "r234",
      "r237",
      "r509",
      "r519",
      "r670"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://ruger.com/role/IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Taxes",
        "label": "Income Tax Disclosure [Text Block]",
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information."
       }
      }
     },
     "auth_ref": [
      "r172",
      "r408",
      "r415",
      "r416",
      "r420",
      "r425",
      "r430",
      "r431",
      "r432",
      "r555"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income taxes",
        "label": "Income Tax Expense (Benefit)",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r126",
      "r134",
      "r187",
      "r188",
      "r222",
      "r413",
      "r426",
      "r523"
     ]
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Taxes",
        "label": "Income Tax, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements."
       }
      }
     },
     "auth_ref": [
      "r160",
      "r409",
      "r410",
      "r416",
      "r417",
      "r419",
      "r421",
      "r549"
     ]
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income tax payments",
        "label": "Income Taxes Paid, Net",
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes."
       }
      }
     },
     "auth_ref": [
      "r26"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade accounts payable and accrued expenses",
        "label": "Increase (Decrease) in Accounts Payable and Accrued Liabilities",
        "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Trade receivables",
        "label": "Increase (Decrease) in Accounts Receivable",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract liability with customers",
        "label": "Increase (Decrease) in Contract with Customer, Liability",
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r502",
      "r830"
     ]
    },
    "us-gaap_IncreaseDecreaseInDeferredRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInDeferredRevenue",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/RevenueRecognitionandContractswithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net increase (decrease) in firearms sales",
        "label": "Increase (Decrease) in Deferred Revenue",
        "documentation": "Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r659"
     ]
    },
    "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee compensation and benefits",
        "label": "Increase (Decrease) in Employee Related Liabilities",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income taxes receivable/payable",
        "label": "Increase (Decrease) in Income Taxes Payable, Net of Income Taxes Receivable",
        "documentation": "The increase (decrease) during the reporting period in the amounts payable to taxing authorities for taxes that are based on the reporting entity's earnings, net of amounts receivable from taxing authorities for refunds of overpayments or recoveries of income taxes."
       }
      }
     },
     "auth_ref": [
      "r830"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Inventories",
        "label": "Increase (Decrease) in Inventories",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Changes in operating assets and liabilities:",
        "label": "Increase (Decrease) in Operating Capital [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherOperatingCapitalNet",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Prepaid expenses, other assets and other liabilities",
        "label": "Increase (Decrease) in Other Operating Assets and Liabilities, Net",
        "documentation": "Amount of increase (decrease) in operating assets after deduction of operating liabilities classified as other."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "rgr_IncreaseDecreaseInProductLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "IncreaseDecreaseInProductLiability",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product liability",
        "documentation": "The net change during the reporting period in the Product liability expense which includes the cost of outside legal fees, insurance, and other expenses incurred in the management and defense of product liability matters.",
        "label": "Increase Decrease In Product Liability"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "presentation": [
      "http://ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dilutive effect of options and restricted stock units outstanding under the Company\u2019s employee compensation plans",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements",
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method."
       }
      }
     },
     "auth_ref": [
      "r194",
      "r195",
      "r196",
      "r201",
      "r369"
     ]
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "IndividualAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Individual [Axis]",
        "terseLabel": "Individual:"
       }
      }
     },
     "auth_ref": [
      "r726",
      "r735",
      "r751",
      "r770",
      "r779",
      "r783",
      "r791"
     ]
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]",
        "terseLabel": "Insider Trading Arrangements:"
       }
      }
     },
     "auth_ref": [
      "r789"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]",
        "terseLabel": "Insider Trading Policies and Procedures:"
       }
      }
     },
     "auth_ref": [
      "r715",
      "r795"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTrdPoliciesProcAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Adopted [Flag]",
        "terseLabel": "Insider Trading Policies and Procedures Adopted"
       }
      }
     },
     "auth_ref": [
      "r715",
      "r795"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]",
        "terseLabel": "Insider Trading Policies and Procedures Not Adopted"
       }
      }
     },
     "auth_ref": [
      "r715",
      "r795"
     ]
    },
    "us-gaap_InterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestExpense",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Interest expense",
        "label": "Interest Expense",
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense."
       }
      }
     },
     "auth_ref": [
      "r63",
      "r122",
      "r164",
      "r218",
      "r455",
      "r612",
      "r697",
      "r920"
     ]
    },
    "rgr_IntersegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "IntersegmentMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Intersegment [Member]",
        "label": "Intersegment Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_InventoryAtFifoAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "InventoryAtFifoAbstract",
     "presentation": [
      "http://ruger.com/role/ScheduleofInventoriesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventory at FIFO",
        "label": "Inventory At Fifo Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryDisclosureTextBlock",
     "presentation": [
      "http://ruger.com/role/Inventories"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories",
        "label": "Inventory Disclosure [Text Block]",
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory."
       }
      }
     },
     "auth_ref": [
      "r292"
     ]
    },
    "us-gaap_InventoryFinishedGoods": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryFinishedGoods",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/ScheduleofInventoriesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finished goods",
        "label": "Inventory, Finished Goods, Gross",
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r825"
     ]
    },
    "us-gaap_InventoryGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryGross",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet",
      "http://ruger.com/role/ScheduleofInventoriesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Gross inventories",
        "label": "Inventory, Gross",
        "documentation": "Gross amount, as of the balance sheet date, of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r827"
     ]
    },
    "us-gaap_InventoryLIFOReserve": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryLIFOReserve",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet",
      "http://ruger.com/role/ScheduleofInventoriesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less LIFO reserve",
        "negatedTerseLabel": "Less: LIFO reserve",
        "label": "Inventory, LIFO Reserve",
        "documentation": "Amount by which inventory stated at last-in first-out (LIFO) is less than (in excess of) inventory stated at other inventory cost methods."
       }
      }
     },
     "auth_ref": [
      "r826"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet",
      "http://ruger.com/role/ScheduleofInventoriesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net inventories",
        "terseLabel": "Net inventories",
        "label": "Inventory, Net",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r156",
      "r664",
      "r685"
     ]
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories",
        "label": "Inventory, Policy [Policy Text Block]",
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost."
       }
      }
     },
     "auth_ref": [
      "r127",
      "r142",
      "r155",
      "r292",
      "r293",
      "r294",
      "r503",
      "r667"
     ]
    },
    "us-gaap_InventoryValuationReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryValuationReserves",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet",
      "http://ruger.com/role/ScheduleofInventoriesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less excess and obsolescence reserve",
        "negatedTerseLabel": "Less: excess and obsolescence reserve",
        "label": "Inventory Valuation Reserves",
        "documentation": "Amount of valuation reserve for inventory."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r827"
     ]
    },
    "us-gaap_InventoryWorkInProcessAndRawMaterials": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryWorkInProcessAndRawMaterials",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/ScheduleofInventoriesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Materials and products in process",
        "label": "Inventory, Work in Process and Raw Materials",
        "documentation": "The aggregate carrying amount as of the balance sheet date of items held by the entity which are partially completed at the time of measurement and unprocessed items that will go through the production process and become part of the final product. Includes supplies used directly or indirectly in the manufacturing or production process. This element may be used when the reporting entity combines work in process and raw materials into an aggregate amount."
       }
      }
     },
     "auth_ref": [
      "r827"
     ]
    },
    "dei_InvestmentCompanyActFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "InvestmentCompanyActFileNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Company Act File Number"
       }
      }
     },
     "auth_ref": [
      "r740",
      "r741",
      "r742",
      "r743"
     ]
    },
    "dei_InvestmentCompanyActRegistration": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "InvestmentCompanyActRegistration",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Company Act Registration"
       }
      }
     },
     "auth_ref": [
      "r756"
     ]
    },
    "dei_InvestmentCompanyRegistrationAmendment": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "InvestmentCompanyRegistrationAmendment",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Company Registration Amendment"
       }
      }
     },
     "auth_ref": [
      "r756"
     ]
    },
    "dei_InvestmentCompanyRegistrationAmendmentNumber": {
     "xbrltype": "sequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "InvestmentCompanyRegistrationAmendmentNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Company Registration Amendment Number"
       }
      }
     },
     "auth_ref": [
      "r756"
     ]
    },
    "us-gaap_InvestmentIncomeInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InvestmentIncomeInterest",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest income",
        "label": "Investment Income, Interest",
        "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities."
       }
      }
     },
     "auth_ref": [
      "r87",
      "r217"
     ]
    },
    "rgr_JophnACosentinoJrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "JophnACosentinoJrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Jophn A. Cosentino, Jr. [Member]",
        "label": "Jophn ACosentino Jr Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_JulyThirtyoneToAugustTwentySevenMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "JulyThirtyoneToAugustTwentySevenMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "July 31 to August 27 [Member]",
        "label": "July Thirtyone To August Twenty Seven Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_JulyThreeToJulyThirtyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "JulyThreeToJulyThirtyMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "July 3 to July 30 [Member]",
        "label": "July Three To July Thirty Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LandAndLandImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LandAndLandImprovementsMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Land and improvements\t[Member]",
        "label": "Land and Land Improvements [Member]",
        "documentation": "Real estate held and assets that are an addition or improvement to real estate held."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseContractualTermAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseContractualTermAxis",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingLeaseLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease Contractual Term [Axis]",
        "documentation": "Information by contractual term of lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r814"
     ]
    },
    "rgr_LeaseLiabilitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "LeaseLiabilitiesMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lease liabilities [Member]",
        "label": "Lease Liabilities Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesLineItems",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingLeaseLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Operating Lease Liabilities [Line items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "LeasedAssetsDetailsScheduleofOperatingLeaseLiabilitiesTable",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingLeaseLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leased Assets (Details) - Schedule of Operating Lease Liabilities [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesLineItems",
     "presentation": [
      "http://ruger.com/role/ScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leased Assets (Details) - Schedule of Right-of-Use Assets and Related Lease Liabilities [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable",
     "presentation": [
      "http://ruger.com/role/ScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leased Assets (Details) - Schedule of Right-of-Use Assets and Related Lease Liabilities [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_LeasedAssetsTablesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "LeasedAssetsTablesLineItems",
     "presentation": [
      "http://ruger.com/role/LeasedAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leased Assets [Abstract]",
        "label": "Leased Assets Tables Line Items"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_LeasedAssetsTablesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "LeasedAssetsTablesTable",
     "presentation": [
      "http://ruger.com/role/LeasedAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leased Assets (Tables) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_LegalEntityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LegalEntityAxis",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/AuditInformation",
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Entity [Axis]",
        "documentation": "The set of legal entities associated with a report."
       }
      }
     },
     "auth_ref": []
    },
    "dei_LegalEntityIdentifier": {
     "xbrltype": "legalEntityIdentifierItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LegalEntityIdentifier",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Entity Identifier",
        "documentation": "A globally unique ISO 17442 value to identify entities, commonly abbreviated as LEI."
       }
      }
     },
     "auth_ref": [
      "r699"
     ]
    },
    "us-gaap_LegalMattersAndContingenciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LegalMattersAndContingenciesTextBlock",
     "presentation": [
      "http://ruger.com/role/ContingentLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contingent Liabilities",
        "label": "Legal Matters and Contingencies [Text Block]",
        "documentation": "The entire disclosure for legal proceedings, legal contingencies, litigation, regulatory and environmental matters and other contingencies."
       }
      }
     },
     "auth_ref": [
      "r104"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://ruger.com/role/LeasedAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Operating Lease Liabilities",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]",
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r902"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingLeaseLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total undiscounted future minimum lease payments",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r460"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingLeaseLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Thereafter",
        "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r460"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingLeaseLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2024",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r460"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingLeaseLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2027",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r460"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingLeaseLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2028",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r460"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingLeaseLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2026",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r460"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingLeaseLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2025",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r460"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingLeaseLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: Difference between undiscounted lease payments &amp; the present value of future lease payments",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r460"
     ]
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://ruger.com/role/LeasedAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leased Assets",
        "label": "Lessee, Operating Leases [Text Block]",
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r456"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Liabilities and Stockholders\u2019 Equity",
        "label": "Liabilities and Equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r117",
      "r515",
      "r685",
      "r833",
      "r849",
      "r901"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Liabilities and Stockholders\u2019 Equity",
        "label": "Liabilities and Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Current Liabilities",
        "label": "Liabilities, Current",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r141",
      "r171",
      "r280",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r434",
      "r435",
      "r436",
      "r447",
      "r685",
      "r861",
      "r905",
      "r906"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current Liabilities",
        "label": "Liabilities, Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilityReserveEstimatePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilityReserveEstimatePolicy",
     "presentation": [
      "http://ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product Liability",
        "label": "Liability Reserve Estimate, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for estimating its liability as of the balance sheet date for the ultimate cost of settling reported and unreported claims incurred and claims adjustment expenses (including effects of inflation and other societal and economic factors)."
       }
      }
     },
     "auth_ref": [
      "r66"
     ]
    },
    "rgr_LineOfCreditFacilitiesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "LineOfCreditFacilitiesTextBlock",
     "presentation": [
      "http://ruger.com/role/LineofCredit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of Credit",
        "documentation": "The entire disclosure for short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line.",
        "label": "Line Of Credit Facilities Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityExpirationDate1": {
     "xbrltype": "dateItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityExpirationDate1",
     "presentation": [
      "http://ruger.com/role/LineofCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revolving credit facility, expiration date",
        "label": "Line of Credit Facility, Expiration Date",
        "documentation": "Date the credit facility terminates, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/LineofCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Credit facility with a bank",
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage",
     "presentation": [
      "http://ruger.com/role/LineofCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of credit unused portion per year",
        "label": "Line of Credit Facility, Unused Capacity, Commitment Fee Percentage",
        "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditMember",
     "presentation": [
      "http://ruger.com/role/LineofCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of Credit [Member]",
        "label": "Line of Credit [Member]",
        "documentation": "A contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars."
       }
      }
     },
     "auth_ref": []
    },
    "rgr_LineofCreditDetailsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "LineofCreditDetailsLineItems",
     "presentation": [
      "http://ruger.com/role/LineofCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit (Details) [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_LineofCreditDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "LineofCreditDetailsTable",
     "presentation": [
      "http://ruger.com/role/LineofCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_LipseysMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "LipseysMember",
     "presentation": [
      "http://ruger.com/role/OperatingSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lipseys [Member]",
        "documentation": "Lipsey's [Member]",
        "label": "Lipseys Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
     "presentation": [
      "http://ruger.com/role/TradeReceivablesNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade Receivables, Net",
        "label": "Loans, Notes, Trade and Other Receivables Disclosure [Text Block]",
        "documentation": "The entire disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses."
       }
      }
     },
     "auth_ref": [
      "r843"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LossContingenciesByNatureOfContingencyAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LossContingenciesByNatureOfContingencyAxis",
     "presentation": [
      "http://ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loss Contingency Nature [Axis]",
        "documentation": "Information by type of existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r314",
      "r315",
      "r316",
      "r319",
      "r855",
      "r857"
     ]
    },
    "us-gaap_LossContingencyAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LossContingencyAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Contingent Liabilities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LossContingencyClaimsSettledNumber": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LossContingencyClaimsSettledNumber",
     "presentation": [
      "http://ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of lawsuits resolved",
        "label": "Loss Contingency, Claims Settled, Number",
        "documentation": "Number of claims settled."
       }
      }
     },
     "auth_ref": [
      "r855",
      "r857"
     ]
    },
    "us-gaap_LossContingencyDamagesSoughtValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LossContingencyDamagesSoughtValue",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total amount of damages claimed (in Dollars)",
        "label": "Loss Contingency, Damages Sought, Value",
        "documentation": "The value (monetary amount) of the award the plaintiff seeks in the legal matter."
       }
      }
     },
     "auth_ref": [
      "r854",
      "r855",
      "r857"
     ]
    },
    "us-gaap_LossContingencyNatureDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LossContingencyNatureDomain",
     "presentation": [
      "http://ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loss Contingency, Nature [Domain]",
        "documentation": "An existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur. Resolution of the uncertainty may confirm the incurrence of a loss or impairment of an asset or the incurrence of a liability."
       }
      }
     },
     "auth_ref": [
      "r314",
      "r315",
      "r316",
      "r319",
      "r855",
      "r857"
     ]
    },
    "us-gaap_LossContingencyNewClaimsFiledNumber": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LossContingencyNewClaimsFiledNumber",
     "presentation": [
      "http://ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of lawsuits",
        "label": "Loss Contingency, New Claims Filed, Number",
        "documentation": "The total number of new claims filed pertaining to a loss contingency during the period."
       }
      }
     },
     "auth_ref": [
      "r855",
      "r857"
     ]
    },
    "rgr_LossContingencyNumberOfLawsuits": {
     "xbrltype": "integerItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "LossContingencyNumberOfLawsuits",
     "presentation": [
      "http://ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of lawsuits involving its products",
        "documentation": "Loss contingency, number of lawsuits.",
        "label": "Loss Contingency Number Of Lawsuits"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MachineryAndEquipmentMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofPropertyPlantandEquipmentTable",
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Machinery and equipment [Member]",
        "verboseLabel": "Machinery and Equipment [Member]",
        "label": "Machinery and Equipment [Member]",
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://ruger.com/role/OperatingSegmentInformationDetails",
      "http://ruger.com/role/TradeReceivablesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "auth_ref": [
      "r243",
      "r679",
      "r864",
      "r915",
      "r916"
     ]
    },
    "rgr_MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum Dollar Value of Shares that May Yet Be Purchased Under the Program (in Dollars)",
        "documentation": "Amount of maximum Dollar Value of Shares that May Yet Be Purchased Under the Program.",
        "label": "Maximum Dollar Value Of Shares That May Yet Be Purchased Under The Program"
       }
      }
     },
     "auth_ref": []
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MaximumMember",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum [Member]",
        "label": "Maximum [Member]"
       }
      }
     },
     "auth_ref": [
      "r315",
      "r316",
      "r317",
      "r318",
      "r363",
      "r501",
      "r541",
      "r574",
      "r575",
      "r632",
      "r634",
      "r636",
      "r637",
      "r639",
      "r657",
      "r658",
      "r672",
      "r676",
      "r681",
      "r687",
      "r863",
      "r907",
      "r908",
      "r909",
      "r910",
      "r911",
      "r912"
     ]
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure [Axis]",
        "terseLabel": "Measure:"
       }
      }
     },
     "auth_ref": [
      "r762"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r762"
     ]
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MinimumMember",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Minimum [Member]",
        "label": "Minimum [Member]"
       }
      }
     },
     "auth_ref": [
      "r315",
      "r316",
      "r317",
      "r318",
      "r363",
      "r501",
      "r541",
      "r574",
      "r575",
      "r632",
      "r634",
      "r636",
      "r637",
      "r639",
      "r657",
      "r658",
      "r672",
      "r676",
      "r681",
      "r687",
      "r863",
      "r907",
      "r908",
      "r909",
      "r910",
      "r911",
      "r912"
     ]
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MnpiDiscTimedForCompValFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "MNPI Disclosure Timed for Compensation Value [Flag]",
        "terseLabel": "MNPI Disclosure Timed for Compensation Value"
       }
      }
     },
     "auth_ref": [
      "r782"
     ]
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MtrlTermsOfTrdArrTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Terms of Trading Arrangement [Text Block]",
        "terseLabel": "Material Terms of Trading Arrangement"
       }
      }
     },
     "auth_ref": [
      "r790"
     ]
    },
    "rgr_MunicipalLawsuitsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "MunicipalLawsuitsMember",
     "presentation": [
      "http://ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Municipal Lawsuits [Member]",
        "documentation": "Municipal Lawsuits [Member]",
        "label": "Municipal Lawsuits Member"
       }
      }
     },
     "auth_ref": []
    },
    "dei_NameChangeEventDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "NameChangeEventDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Name Change Event Date [Axis]",
        "documentation": "For a sequence of name change event related facts, use this typed dimension to distinguish them.  The axis members are restricted to be a valid for xml schema 'date' or 'datetime' data type."
       }
      }
     },
     "auth_ref": []
    },
    "dei_NameChangeEventLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "NameChangeEventLineItems",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Name Change Event [Line Items]",
        "documentation": "Line items represent concepts included in a table. Name change event line item concepts are used for information qualified by domain members of axes in the Name Change Event table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_NameChangeEventTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "NameChangeEventTable",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Name Change Event [Table]",
        "documentation": "For a set of related facts in a sequence of name change events, use this table when the events occurred within a single reporting period."
       }
      }
     },
     "auth_ref": []
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://ruger.com/role/OperatingSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]"
       }
      }
     },
     "auth_ref": [
      "r243",
      "r679",
      "r864",
      "r915",
      "r916"
     ]
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NamedExecutiveOfficersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Named Executive Officers, Footnote [Text Block]",
        "terseLabel": "Named Executive Officers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "rgr_NationalRifleAssociationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "NationalRifleAssociationMember",
     "presentation": [
      "http://ruger.com/role/RelatedPartyTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "National Rifle Association [Member]",
        "documentation": "National Rifle Association [Member]",
        "label": "National Rifle Association Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_NationalShootingSportsFoundationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "NationalShootingSportsFoundationMember",
     "presentation": [
      "http://ruger.com/role/RelatedPartyTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "National Shooting Sports Foundation [Member]",
        "label": "National Shooting Sports Foundation Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_NegligenceLawsuitsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "NegligenceLawsuitsMember",
     "presentation": [
      "http://ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Negligence Lawsuits [Member]",
        "label": "Negligence Lawsuits Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cash used for financing activities",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r168"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Financing Activities",
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cash provided by (used for) investing activities",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r168"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Investing Activities",
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cash provided by operating activities",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r94",
      "r95"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Activities",
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      },
      "http://ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow",
      "http://ruger.com/role/ConsolidatedIncomeStatement",
      "http://ruger.com/role/ScheduleofQuarterlyFinancialInformationTable",
      "http://ruger.com/role/ShareholdersEquityType2or3",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income and comprehensive income",
        "verboseLabel": "Net income",
        "label": "Net Income (Loss)",
        "terseLabel": "Net Income (Loss)",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r83",
      "r95",
      "r121",
      "r139",
      "r158",
      "r159",
      "r163",
      "r171",
      "r179",
      "r181",
      "r182",
      "r183",
      "r184",
      "r187",
      "r188",
      "r198",
      "r214",
      "r228",
      "r234",
      "r237",
      "r280",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r446",
      "r447",
      "r520",
      "r603",
      "r625",
      "r626",
      "r670",
      "r697",
      "r861"
     ]
    },
    "rgr_NetSalesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "NetSalesAbstract",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net Sales",
        "label": "Net Sales Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Recent Accounting Pronouncements",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact."
       }
      }
     },
     "auth_ref": []
    },
    "dei_NewEffectiveDateForPreviousFiling": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "NewEffectiveDateForPreviousFiling",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New Effective Date for Previous Filing"
       }
      }
     },
     "auth_ref": [
      "r740",
      "r741",
      "r742",
      "r743"
     ]
    },
    "dei_NoSubstantiveChanges462c": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "NoSubstantiveChanges462c",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Substantive Changes, 462(c)"
       }
      }
     },
     "auth_ref": [
      "r802"
     ]
    },
    "dei_NoSubstantiveChanges462cFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "NoSubstantiveChanges462cFileNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Substantive Changes, 462(c), File Number"
       }
      }
     },
     "auth_ref": [
      "r802"
     ]
    },
    "dei_NoTradingSymbolFlag": {
     "xbrltype": "trueItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "NoTradingSymbolFlag",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": []
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonGaapMeasureDescriptionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-GAAP Measure Description [Text Block]",
        "terseLabel": "Non-GAAP Measure Description"
       }
      }
     },
     "auth_ref": [
      "r762"
     ]
    },
    "ecd_NonNeosMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonNeosMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-NEOs [Member]",
        "terseLabel": "Non-NEOs"
       }
      }
     },
     "auth_ref": [
      "r723",
      "r735",
      "r751",
      "r770",
      "r779"
     ]
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoAvgCompActuallyPaidAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Compensation Actually Paid Amount",
        "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r760"
     ]
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoAvgTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Total Compensation Amount",
        "terseLabel": "Non-PEO NEO Average Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r759"
     ]
    },
    "ecd_NonPeoNeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO [Member]",
        "terseLabel": "Non-PEO NEO"
       }
      }
     },
     "auth_ref": [
      "r770"
     ]
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r790"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r790"
     ]
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total other income, net",
        "label": "Nonoperating Income (Expense)",
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business)."
       }
      }
     },
     "auth_ref": [
      "r88"
     ]
    },
    "us-gaap_NonvotingCommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonvotingCommonStockMember",
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet",
      "http://ruger.com/role/ConsolidatedBalanceSheet_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Nonvoting Common Stock",
        "label": "Nonvoting Common Stock [Member]",
        "documentation": "Common stock securities that do not empower a holder to vote on corporate resolutions or the election of directors."
       }
      }
     },
     "auth_ref": []
    },
    "rgr_November26ToDecember31Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "November26ToDecember31Member",
     "presentation": [
      "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "November 26 to December 31 [Member]",
        "label": "November26 To December31 Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_NovemberTwentySevenToDecemberThirtyOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "NovemberTwentySevenToDecemberThirtyOneMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "November 27 to December 31 [Member]",
        "label": "November Twenty Seven To December Thirty One Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NumberOfOperatingSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NumberOfOperatingSegments",
     "presentation": [
      "http://ruger.com/role/OperatingSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of Operating Segments",
        "label": "Number of Operating Segments",
        "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues."
       }
      }
     },
     "auth_ref": [
      "r842"
     ]
    },
    "rgr_NumeratorAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "NumeratorAbstract",
     "presentation": [
      "http://ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Numerator:",
        "label": "Numerator Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_October29ToNovember25Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "October29ToNovember25Member",
     "presentation": [
      "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "October 29 to November 25 [Member]",
        "label": "October29 To November25 Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_OctoberOneToOctoberTwentyEightMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "OctoberOneToOctoberTwentyEightMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "October 1 to October 28 [Member]",
        "label": "October One To October Twenty Eight Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_OctoberThirtyToNovemberTwentySevenMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "OctoberThirtyToNovemberTwentySevenMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "October 30 to November 26 [Member]",
        "label": "October Thirty To November Twenty Seven Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_OctoberTwoToOctoberTwentyNineMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "OctoberTwoToOctoberTwentyNineMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "October 2 to October 29 [Member]",
        "label": "October Two To October Twenty Nine Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpenses",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total operating expenses",
        "label": "Operating Expenses",
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpensesAbstract",
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Expenses (Incomes):",
        "label": "Operating Expenses [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Operating income",
        "label": "Operating Income (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r214",
      "r228",
      "r234",
      "r237",
      "r670"
     ]
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingLeaseLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total operating lease liabilities",
        "label": "Operating Lease, Liability",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r458"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current portion",
        "label": "Operating Lease, Liability, Current",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r458"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lease liability (Note 7)",
        "label": "Operating Lease, Liability, Noncurrent",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r458"
     ]
    },
    "rgr_OperatingLeaseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "OperatingLeaseMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingLeaseLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease [Member]",
        "label": "Operating Lease Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/ScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Right-of-use assets",
        "label": "Operating Lease, Right-of-Use Asset",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r457"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://ruger.com/role/LeasedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lease term",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r459",
      "r684"
     ]
    },
    "rgr_OperatingSegmentInformationDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "OperatingSegmentInformationDetailsTable",
     "presentation": [
      "http://ruger.com/role/OperatingSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Segment Information (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_OrganizationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "OrganizationPolicyTextBlock",
     "presentation": [
      "http://ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Organization",
        "documentation": "Disclosure of accounting policy for organization.",
        "label": "Organization Policy Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAccountsPayableAndAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAccountsPayableAndAccruedLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable": {
       "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued other",
        "label": "Other Accounts Payable and Accrued Liabilities",
        "documentation": "Amount of liabilities incurred and payable to vendors for goods and services received classified as other, and expenses incurred but not yet paid, payable within one year or the operating cycle, if longer."
       }
      }
     },
     "auth_ref": []
    },
    "dei_OtherAddressMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "OtherAddressMember",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Address [Member]",
        "documentation": "Other address for entity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_OtherAssetsDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "OtherAssetsDetailsTable",
     "presentation": [
      "http://ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsDisclosureTextBlock",
     "presentation": [
      "http://ruger.com/role/OtherAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other Assets",
        "label": "Other Assets Disclosure [Text Block]",
        "documentation": "The entire disclosure for other assets. This disclosure includes other current assets and other noncurrent assets."
       }
      }
     },
     "auth_ref": []
    },
    "rgr_OtherAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "OtherAssetsLineItems",
     "presentation": [
      "http://ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other Assets [Member]",
        "label": "Other Assets [Member]",
        "documentation": "Primary financial statement caption encompassing other assets."
       }
      }
     },
     "auth_ref": [
      "r59",
      "r60"
     ]
    },
    "us-gaap_OtherAssetsMiscellaneous": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsMiscellaneous",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ScheduleofOtherAssetsTable": {
       "parentTag": "us-gaap_OtherAssetsNoncurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ScheduleofOtherAssetsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other",
        "label": "Other Assets, Miscellaneous",
        "documentation": "Amount of other miscellaneous assets."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      },
      "http://ruger.com/role/ScheduleofOtherAssetsTable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet",
      "http://ruger.com/role/ScheduleofOtherAssetsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Other assets",
        "terseLabel": "Other assets",
        "label": "Other Assets, Noncurrent",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r148"
     ]
    },
    "us-gaap_OtherDebtSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherDebtSecuritiesMember",
     "presentation": [
      "http://ruger.com/role/RevenueRecognitionandContractswithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other Debt Obligations [Member]",
        "label": "Other Debt Obligations [Member]",
        "documentation": "Investments in debt securities classified as other."
       }
      }
     },
     "auth_ref": [
      "r850",
      "r865",
      "r900"
     ]
    },
    "us-gaap_OtherIncomeAndExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherIncomeAndExpensesAbstract",
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other income:",
        "label": "Other Income and Expenses [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_OtherIncomeAndExpensesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "OtherIncomeAndExpensesTableTextBlock",
     "presentation": [
      "http://ruger.com/role/OtherOperatingIncomeNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Other Operating Income, Net",
        "documentation": "The entire disclosure for the schedule of other income and expenses.",
        "label": "Other Income And Expenses Table Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherIncomeAndOtherExpenseDisclosureTextBlock",
     "presentation": [
      "http://ruger.com/role/OtherOperatingIncomeNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other Operating Income, Net",
        "label": "Other Income and Other Expense Disclosure [Text Block]",
        "documentation": "The entire disclosure for other income or other expense items (both operating and nonoperating). Sources of nonoperating income or nonoperating expense that may be disclosed, include amounts earned from dividends, interest on securities, profits (losses) on securities, net and miscellaneous other income or income deductions."
       }
      }
     },
     "auth_ref": [
      "r106",
      "r108"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other income, net",
        "label": "Other Nonoperating Income (Expense)",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r89"
     ]
    },
    "us-gaap_OtherOperatingIncomeExpenseNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherOperatingIncomeExpenseNet",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other operating income, net",
        "label": "Other Operating Income (Expense), Net",
        "documentation": "The net amount of other operating income and expenses, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operations."
       }
      }
     },
     "auth_ref": []
    },
    "rgr_OtherOperatingIncomeNetLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "OtherOperatingIncomeNetLineItems",
     "presentation": [
      "http://ruger.com/role/OtherOperatingIncomeNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Operating Income, Net [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_OtherOperatingIncomeNetTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "OtherOperatingIncomeNetTable",
     "presentation": [
      "http://ruger.com/role/OtherOperatingIncomeNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Operating Income, Net [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_OtherOperatingIncomeNetTablesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "OtherOperatingIncomeNetTablesLineItems",
     "presentation": [
      "http://ruger.com/role/OtherOperatingIncomeNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other Operating Income, Net [Abstract]",
        "label": "Other Operating Income Net Tables Line Items"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_OtherOperatingIncomeNetTablesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "OtherOperatingIncomeNetTablesTable",
     "presentation": [
      "http://ruger.com/role/OtherOperatingIncomeNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Operating Income, Net (Tables) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OtherPerfMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Performance Measure, Amount",
        "terseLabel": "Other Performance Measure, Amount"
       }
      }
     },
     "auth_ref": [
      "r762"
     ]
    },
    "dei_OtherReportingStandardItemNumber": {
     "xbrltype": "otherReportingStandardItemNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "OtherReportingStandardItemNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r714"
     ]
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingAggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Aggregate Erroneous Compensation Amount",
        "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r721",
      "r733",
      "r749",
      "r777"
     ]
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery Compensation Amount",
        "terseLabel": "Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r724",
      "r736",
      "r752",
      "r780"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r724",
      "r736",
      "r752",
      "r780"
     ]
    },
    "dei_ParentEntityLegalName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "ParentEntityLegalName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Parent Entity Legal Name",
        "documentation": "If the entity which the financial information concerns is a subsidiary of another company, then provide to full legal name of the parent entity"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Line Items]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repurchase of common stock",
        "label": "Payments for Repurchase of Common Stock",
        "documentation": "The cash outflow to reacquire common stock during the period."
       }
      }
     },
     "auth_ref": [
      "r23"
     ]
    },
    "us-gaap_PaymentsOfDividendsCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsOfDividendsCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Dividends paid",
        "label": "Payments of Ordinary Dividends, Common Stock",
        "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity."
       }
      }
     },
     "auth_ref": [
      "r23"
     ]
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Payment of employee withholding tax related to share-based compensation",
        "label": "Payment, Tax Withholding, Share-Based Payment Arrangement",
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r167"
     ]
    },
    "us-gaap_PaymentsToAcquireInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireInvestments",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchases of short-term investments",
        "label": "Payments to Acquire Investments",
        "documentation": "The cash outflow associated with the purchase of all investments (debt, security, other) during the period."
       }
      }
     },
     "auth_ref": [
      "r91"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Property, plant and equipment additions",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r92"
     ]
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeerGroupIssuersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Issuers, Footnote [Text Block]",
        "terseLabel": "Peer Group Issuers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r761"
     ]
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeerGroupTotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Total Shareholder Return Amount",
        "terseLabel": "Peer Group Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r761"
     ]
    },
    "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
     "presentation": [
      "http://ruger.com/role/EmployeeBenefitPlans"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee Benefit Plans",
        "label": "Retirement Benefits [Text Block]",
        "documentation": "The entire disclosure for retirement benefits."
       }
      }
     },
     "auth_ref": [
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r680"
     ]
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoActuallyPaidCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Actually Paid Compensation Amount",
        "terseLabel": "PEO Actually Paid Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r760"
     ]
    },
    "ecd_PeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO [Member]",
        "terseLabel": "PEO"
       }
      }
     },
     "auth_ref": [
      "r770"
     ]
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Name",
        "terseLabel": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Total Compensation Amount",
        "terseLabel": "PEO Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r759"
     ]
    },
    "dei_PhoneFaxNumberDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PhoneFaxNumberDescription",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Phone Fax Number Description",
        "documentation": "Description of Phone or Fax Number"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r866",
      "r867",
      "r868",
      "r869",
      "r870",
      "r871",
      "r872",
      "r873",
      "r874",
      "r875",
      "r876",
      "r877",
      "r878",
      "r879",
      "r880",
      "r881",
      "r882",
      "r883",
      "r884",
      "r885",
      "r886",
      "r887",
      "r888",
      "r889",
      "r890",
      "r891"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r866",
      "r867",
      "r868",
      "r869",
      "r870",
      "r871",
      "r872",
      "r873",
      "r874",
      "r875",
      "r876",
      "r877",
      "r878",
      "r879",
      "r880",
      "r881",
      "r882",
      "r883",
      "r884",
      "r885",
      "r886",
      "r887",
      "r888",
      "r889",
      "r890",
      "r891"
     ]
    },
    "dei_PostEffectiveAmendment": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PostEffectiveAmendment",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Post-Effective Amendment"
       }
      }
     },
     "auth_ref": [
      "r700"
     ]
    },
    "dei_PostEffectiveAmendmentNumber": {
     "xbrltype": "sequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PostEffectiveAmendmentNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Post-Effective Amendment Number",
        "documentation": "Amendment number to registration statement under the Securities Act of 1933 after the registration becomes effective."
       }
      }
     },
     "auth_ref": [
      "r700"
     ]
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r707"
     ]
    },
    "dei_PreCommencementTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r708"
     ]
    },
    "dei_PreEffectiveAmendment": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreEffectiveAmendment",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-Effective Amendment"
       }
      }
     },
     "auth_ref": [
      "r700"
     ]
    },
    "dei_PreEffectiveAmendmentNumber": {
     "xbrltype": "sequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreEffectiveAmendmentNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-Effective Amendment Number",
        "documentation": "Amendment number to registration statement under the Securities Act of 1933 before the registration becomes effective."
       }
      }
     },
     "auth_ref": [
      "r700"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Prepaid expenses and other current assets",
        "label": "Prepaid Expense and Other Assets, Current",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r829"
     ]
    },
    "rgr_PreparationOfFinancialStatementsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "PreparationOfFinancialStatementsPolicyTextBlock",
     "presentation": [
      "http://ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preparation of Financial Statements",
        "documentation": "Disclosure of accounting policy for the preparation of financial statements.",
        "label": "Preparation Of Financial Statements Policy Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleMaturityAndCollectionsOfInvestments",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from maturity of short-term investments",
        "label": "Proceeds from Sale, Maturity and Collection of Investments",
        "documentation": "The cash inflow associated with the sale, maturity and collection of all investments such as debt, security and so forth during the period."
       }
      }
     },
     "auth_ref": [
      "r22"
     ]
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net proceeds from sale of assets",
        "label": "Proceeds from Sale of Property, Plant, and Equipment",
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r90"
     ]
    },
    "rgr_ProductInsurancePremiumExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ProductInsurancePremiumExpenseMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofProductLiabilityExpenseTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Insurance Premium Expense [Member]",
        "documentation": "Product Insurance Premium Expense [Member]",
        "label": "Product Insurance Premium Expense Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductLiabilityAccrualComponentAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductLiabilityAccrualComponentAmount",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ScheduleofProductLiabilityExpenseTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total Product Liability Expense",
        "label": "Product Liability Accrual, Component Amount",
        "documentation": "Recorded amount of the accrual for a material component of a product liability contingency."
       }
      }
     },
     "auth_ref": [
      "r675"
     ]
    },
    "rgr_ProductLiabilityAccrualNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ProductLiabilityAccrualNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product liability accrual",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date which includes the cost of outside legal fees, insurance, and other expenses incurred in the management and defense of product liability matters and due after one year (or beyond the operating cycle if longer).",
        "label": "Product Liability Accrual Noncurrent"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductLiabilityAccrualPeriodExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductLiabilityAccrualPeriodExpense",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/ContingentLiabilitiesDetails",
      "http://ruger.com/role/ScheduleofProductLiabilityExpenseTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Insurance Premium Expense",
        "verboseLabel": "Product liability expense (in Dollars)",
        "label": "Product Liability Accrual, Period Expense",
        "documentation": "The amount of loss reported during the period pertaining to product liability."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductLiabilityContingenciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductLiabilityContingenciesTextBlock",
     "presentation": [
      "http://ruger.com/role/ContingentLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Product Liability Expense",
        "label": "Product Liability Contingencies [Table Text Block]",
        "documentation": "Tabular disclosure of exposure to material amount of loss arising from allegations of damages pertaining to and arising from one or more of the entity's products."
       }
      }
     },
     "auth_ref": [
      "r854",
      "r856",
      "r858",
      "r859",
      "r860"
     ]
    },
    "us-gaap_ProductLiabilityContingencyLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductLiabilityContingencyLineItems",
     "presentation": [
      "http://ruger.com/role/ScheduleofProductLiabilityExpenseTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Liability Contingency [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r317",
      "r854",
      "r856",
      "r858"
     ]
    },
    "us-gaap_ProductLiabilityContingencyTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductLiabilityContingencyTable",
     "presentation": [
      "http://ruger.com/role/ScheduleofProductLiabilityExpenseTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Liability Contingency [Table]",
        "documentation": "Information and financial data about the reasonably possible loss or the recognized and additional reasonably possible loss from product liability related to an individual product."
       }
      }
     },
     "auth_ref": [
      "r317",
      "r854",
      "r856",
      "r858"
     ]
    },
    "rgr_ProductLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ProductLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product liability",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date which includes the cost of outside legal fees, insurance, and other expenses incurred in the management and defense of product liability matters For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Product Liability Current"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ProductLiabilityReserveMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ProductLiabilityReserveMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofRollForwardforProductLiabilityReserveTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product Liability Reserve [Member]",
        "documentation": "Product Liability Reserve [Member]",
        "label": "Product Liability Reserve Member"
       }
      }
     },
     "auth_ref": []
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement",
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable",
      "http://ruger.com/role/ScheduleofProductLiabilityExpenseTable",
      "http://ruger.com/role/ScheduleofRollForwardforProductLiabilityReserveTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "auth_ref": [
      "r239",
      "r504",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r661",
      "r677",
      "r686",
      "r815",
      "r858",
      "r860",
      "r864",
      "r915"
     ]
    },
    "us-gaap_ProductWarrantyLiabilityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyLiabilityLineItems",
     "presentation": [
      "http://ruger.com/role/ScheduleofRollForwardforProductLiabilityReserveTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranty Liability [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductWarrantyLiabilityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyLiabilityTable",
     "presentation": [
      "http://ruger.com/role/ScheduleofRollForwardforProductLiabilityReserveTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranty Liability [Table]",
        "documentation": "Disclosure of information about product warranty liability, including, but not limited to, reductions in the liability for payments made under the warranty, changes in the liability for accruals related to product warranties issued, and changes in the liability for accruals related to preexisting warranties."
       }
      }
     },
     "auth_ref": []
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement",
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]"
       }
      }
     },
     "auth_ref": [
      "r239",
      "r504",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r661",
      "r677",
      "r686",
      "r815",
      "r858",
      "r860",
      "r864",
      "r915"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://ruger.com/role/ScheduleofPropertyPlantandEquipmentTable",
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Axis]",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "presentation": [
      "http://ruger.com/role/PropertyPlantandEquipment"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, Plant and Equipment",
        "label": "Property, Plant and Equipment Disclosure [Text Block]",
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r101",
      "r130",
      "r131",
      "r132"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet",
      "http://ruger.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, plant and equipment",
        "label": "Property, Plant and Equipment, Gross",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r102",
      "r144",
      "r518"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://ruger.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet",
      "http://ruger.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net property, plant and equipment",
        "terseLabel": "Net property, plant and equipment",
        "label": "Property, Plant and Equipment, Net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r510",
      "r518",
      "r685"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, Plant, and Equipment",
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r130",
      "r131",
      "r516"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://ruger.com/role/PropertyPlantandEquipmentTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Property, Plant and Equipment",
        "label": "Property, Plant and Equipment [Table Text Block]",
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://ruger.com/role/ScheduleofPropertyPlantandEquipmentTable",
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Domain]",
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software."
       }
      }
     },
     "auth_ref": [
      "r102"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Useful life",
        "label": "Property, Plant and Equipment, Useful Life",
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment."
       }
      }
     },
     "auth_ref": []
    },
    "rgr_PropertyPlantandEquipmentTablesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "PropertyPlantandEquipmentTablesLineItems",
     "presentation": [
      "http://ruger.com/role/PropertyPlantandEquipmentTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, Plant and Equipment [Abstract]",
        "label": "Property Plantand Equipment Tables Line Items"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_PropertyPlantandEquipmentTablesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "PropertyPlantandEquipmentTablesTable",
     "presentation": [
      "http://ruger.com/role/PropertyPlantandEquipmentTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment (Tables) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PvpTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Table]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PvpTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance [Table Text Block]",
        "terseLabel": "Pay vs Performance Disclosure, Table"
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "us-gaap_QuarterlyFinancialInformationDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "QuarterlyFinancialInformationDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Quarterly Results of Operations (Unaudited) [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_QuarterlyFinancialInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "QuarterlyFinancialInformationTextBlock",
     "presentation": [
      "http://ruger.com/role/QuarterlyResultsofOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Quarterly Results of Operations (Unaudited)",
        "label": "Quarterly Financial Information [Text Block]",
        "documentation": "The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information."
       }
      }
     },
     "auth_ref": [
      "r97",
      "r206"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeAxis",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r315",
      "r316",
      "r317",
      "r318",
      "r351",
      "r363",
      "r393",
      "r394",
      "r395",
      "r477",
      "r501",
      "r541",
      "r574",
      "r575",
      "r632",
      "r634",
      "r636",
      "r637",
      "r639",
      "r657",
      "r658",
      "r672",
      "r676",
      "r681",
      "r687",
      "r690",
      "r853",
      "r863",
      "r908",
      "r909",
      "r910",
      "r911",
      "r912"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeMember",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]"
       }
      }
     },
     "auth_ref": [
      "r315",
      "r316",
      "r317",
      "r318",
      "r351",
      "r363",
      "r393",
      "r394",
      "r395",
      "r477",
      "r501",
      "r541",
      "r574",
      "r575",
      "r632",
      "r634",
      "r636",
      "r637",
      "r639",
      "r657",
      "r658",
      "r672",
      "r676",
      "r681",
      "r687",
      "r690",
      "r853",
      "r863",
      "r908",
      "r909",
      "r910",
      "r911",
      "r912"
     ]
    },
    "us-gaap_ReceivablesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReceivablesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Receivables [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_RecognizedCostsOfRestrictedStockUnits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "RecognizedCostsOfRestrictedStockUnits",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Recognized costs of restricted stock units",
        "documentation": "The amount of recognized costs of restricted stock units.",
        "label": "Recognized Costs Of Restricted Stock Units"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]",
        "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure"
       }
      }
     },
     "auth_ref": [
      "r716",
      "r728",
      "r744",
      "r772"
     ]
    },
    "dei_RegistrationStatementAmendmentNumber": {
     "xbrltype": "sequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "RegistrationStatementAmendmentNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Registration Statement Amendment Number",
        "documentation": "Amendment number to registration statement under the Investment Company Act of 1940."
       }
      }
     },
     "auth_ref": [
      "r700"
     ]
    },
    "us-gaap_RelatedPartyTransactionAmountsOfTransaction": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionAmountsOfTransaction",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/RelatedPartyTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amount paid",
        "label": "Related Party Transaction, Amounts of Transaction",
        "documentation": "Amount of transactions with related party during the financial reporting period."
       }
      }
     },
     "auth_ref": [
      "r64",
      "r465"
     ]
    },
    "us-gaap_RelatedPartyTransactionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionAxis",
     "presentation": [
      "http://ruger.com/role/RelatedPartyTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transaction [Axis]",
        "documentation": "Information by type of related party transaction."
       }
      }
     },
     "auth_ref": [
      "r465",
      "r466",
      "r904"
     ]
    },
    "us-gaap_RelatedPartyTransactionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionLineItems",
     "presentation": [
      "http://ruger.com/role/RelatedPartyTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transactions [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r607",
      "r608",
      "r611"
     ]
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transactions [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_RelatedPartyTransactionsDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "RelatedPartyTransactionsDetailsTable",
     "presentation": [
      "http://ruger.com/role/RelatedPartyTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transactions (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "presentation": [
      "http://ruger.com/role/RelatedPartyTransactions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Related Party Transactions",
        "label": "Related Party Transactions Disclosure [Text Block]",
        "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates."
       }
      }
     },
     "auth_ref": [
      "r462",
      "r463",
      "r464",
      "r466",
      "r467",
      "r556",
      "r557",
      "r558",
      "r609",
      "r610",
      "r611",
      "r630",
      "r631"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Research and development",
        "label": "Research and Development Expense",
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r407",
      "r913"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpensePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpensePolicy",
     "presentation": [
      "http://ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Research and Development",
        "label": "Research and Development Expense, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process."
       }
      }
     },
     "auth_ref": [
      "r406"
     ]
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date [Axis]",
        "terseLabel": "Restatement Determination Date:"
       }
      }
     },
     "auth_ref": [
      "r717",
      "r729",
      "r745",
      "r773"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date",
        "terseLabel": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r718",
      "r730",
      "r746",
      "r774"
     ]
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDoesNotRequireRecoveryTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Does Not Require Recovery [Text Block]",
        "terseLabel": "Restatement does not require Recovery"
       }
      }
     },
     "auth_ref": [
      "r725",
      "r737",
      "r753",
      "r781"
     ]
    },
    "us-gaap_RestrictedStockExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockExpense",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cost of issuances restricted stock units",
        "label": "Restricted Stock or Unit Expense",
        "documentation": "Amount of noncash expense for award of restricted stock or unit under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted Stock Units [Member]",
        "label": "Restricted Stock Units (RSUs) [Member]",
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retained earnings",
        "label": "Retained Earnings (Accumulated Deficit)",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r75",
      "r105",
      "r514",
      "r545",
      "r546",
      "r554",
      "r584",
      "r685"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retained Earnings",
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r137",
      "r176",
      "r177",
      "r178",
      "r180",
      "r186",
      "r188",
      "r281",
      "r282",
      "r401",
      "r402",
      "r403",
      "r423",
      "r424",
      "r437",
      "r439",
      "r440",
      "r442",
      "r444",
      "r542",
      "r544",
      "r559",
      "r921"
     ]
    },
    "rgr_RevenueDeferred": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "RevenueDeferred",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ScheduleofRevenueRecognizedTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue deferred",
        "documentation": "The amount of revenue deferred during the period.",
        "label": "Revenue Deferred"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition and Contracts with Customers [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://ruger.com/role/RevenueRecognitionandContractswithCustomers"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue Recognition and Contracts with Customers",
        "label": "Revenue from Contract with Customer [Text Block]",
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts."
       }
      }
     },
     "auth_ref": [
      "r135",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r349"
     ]
    },
    "rgr_RevenueRecognitionAndContractsWithCustomersLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "RevenueRecognitionAndContractsWithCustomersLineItems",
     "presentation": [
      "http://ruger.com/role/RevenueRecognitionandContractswithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition and Contracts with Customers [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_RevenueRecognitionMultipledeliverableArrangementsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "RevenueRecognitionMultipledeliverableArrangementsTableTextBlock",
     "presentation": [
      "http://ruger.com/role/RevenueRecognitionandContractswithCustomersTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Revenue Recognized",
        "documentation": "Tabular disclosure of the recognition of revenue arrangements under which the entity does or will perform multiple revenue-generating activities, categorized by type of arrangement. This item includes certain revenue arrangements that include software elements. This item does not include multiple-deliverable arrangements for industries that prepare disclosures under specific requirements (for instance, construction-type and production-type contracts) otherwise provided for in the taxonomy.",
        "label": "Revenue Recognition Multipledeliverable Arrangements Table Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRecognitionPolicyTextBlock",
     "presentation": [
      "http://ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue Recognition",
        "label": "Revenue [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources."
       }
      }
     },
     "auth_ref": [
      "r605",
      "r660",
      "r668"
     ]
    },
    "rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedLineItems",
     "presentation": [
      "http://ruger.com/role/ScheduleofRevenueRecognizedTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenue Recognized [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "RevenueRecognitionandContractswithCustomersDetailsScheduleofRevenueRecognizedTable",
     "presentation": [
      "http://ruger.com/role/ScheduleofRevenueRecognizedTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition and Contracts with Customers (Details) - Schedule of Revenue Recognized [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_RevenueRecognitionandContractswithCustomersDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "RevenueRecognitionandContractswithCustomersDetailsTable",
     "presentation": [
      "http://ruger.com/role/RevenueRecognitionandContractswithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition and Contracts with Customers (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Revenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Revenues",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement",
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable",
      "http://ruger.com/role/ScheduleofQuarterlyFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total net sales",
        "verboseLabel": "Net Sales",
        "label": "Revenues",
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss)."
       }
      }
     },
     "auth_ref": [
      "r165",
      "r171",
      "r215",
      "r216",
      "r227",
      "r232",
      "r233",
      "r239",
      "r241",
      "r243",
      "r280",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r447",
      "r509",
      "r861"
     ]
    },
    "us-gaap_RoyaltyIncomeNonoperating": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RoyaltyIncomeNonoperating",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Royalty income",
        "label": "Royalty Income, Nonoperating",
        "documentation": "Ancillary revenue earned during the period from the consideration paid to the entity for the use of its rights and property by another party. Examples include licensing the use of copyrighted materials and leasing the extraction of natural resources."
       }
      }
     },
     "auth_ref": [
      "r88"
     ]
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r790"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r790"
     ]
    },
    "us-gaap_SalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SalesMember",
     "presentation": [
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sales [Member]",
        "label": "Sales [Member]",
        "documentation": "Primary financial statement caption encompassing revenue from sale of goods and services rendered in the normal course of business."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://ruger.com/role/OperatingSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue Benchmark [Member]",
        "label": "Revenue Benchmark [Member]",
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation."
       }
      }
     },
     "auth_ref": [
      "r243",
      "r812"
     ]
    },
    "srt_ScenarioUnspecifiedDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ScenarioUnspecifiedDomain",
     "presentation": [
      "http://ruger.com/role/ScheduleofRevenueRecognizedTable"
     ],
     "auth_ref": [
      "r189",
      "r364",
      "r810",
      "r838"
     ]
    },
    "rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of AReconciliation Of The Numerator And Denominator For The Basic And Diluted Earnings Per Share Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
     "presentation": [
      "http://ruger.com/role/TradeReceivablesNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of trade receivables",
        "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]",
        "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables."
       }
      }
     },
     "auth_ref": [
      "r20"
     ]
    },
    "us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
     "presentation": [
      "http://ruger.com/role/TradeAccountsPayableandAccruedExpensesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Trade Accounts Payable and Accrued Expenses",
        "label": "Schedule of Accounts Payable and Accrued Liabilities [Table Text Block]",
        "documentation": "Tabular disclosure of the (a) carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business (accounts payable); (b) other payables; and (c) accrued liabilities. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer). An alternative caption includes accrued expenses."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://ruger.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Deferred Tax Assets and Liabilities",
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]",
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r110"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://ruger.com/role/EarningsPerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of a Reconciliation of the Numerator and Denominator for the Basic and Diluted Earnings Per Share",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r840"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://ruger.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Effective Income Tax Rate Reconciliation",
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r109"
     ]
    },
    "rgr_ScheduleOfFutureMinimumLeasePaymentsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ScheduleOfFutureMinimumLeasePaymentsTableTextBlock",
     "presentation": [
      "http://ruger.com/role/LeasedAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Right-of-Use Assets and Related Lease Liabilities",
        "label": "Schedule Of Future Minimum Lease Payments Table Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ScheduleOfInventoriesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ScheduleOfInventoriesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Inventories [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://ruger.com/role/InventoriesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Inventories",
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r79",
      "r80",
      "r81"
     ]
    },
    "rgr_ScheduleOfOperatingLeaseLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ScheduleOfOperatingLeaseLiabilitiesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Operating Lease Liabilities Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ScheduleOfOperatingSegmentFinancialInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ScheduleOfOperatingSegmentFinancialInformationAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Operating Segment Financial Information Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ScheduleOfOtherAssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ScheduleOfOtherAssetsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Other Assets Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfOtherAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfOtherAssetsTableTextBlock",
     "presentation": [
      "http://ruger.com/role/OtherAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Other Assets",
        "label": "Schedule of Other Assets [Table Text Block]",
        "documentation": "Tabular disclosure of the carrying amounts of other assets. This disclosure includes other current assets and other noncurrent assets."
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ScheduleOfOtherOperatingIncomeNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ScheduleOfOtherOperatingIncomeNetAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Other Operating Income, Net [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ScheduleOfProductLiabilityExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ScheduleOfProductLiabilityExpenseAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Product Liability Expense Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "presentation": [
      "http://ruger.com/role/ContingentLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Roll-Forward for Product Liability Reserve",
        "label": "Schedule of Product Warranty Liability [Table Text Block]",
        "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability."
       }
      }
     },
     "auth_ref": [
      "r320"
     ]
    },
    "rgr_ScheduleOfPropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ScheduleOfPropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://ruger.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table]",
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "rgr_ScheduleOfQuarterlyFinancialInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ScheduleOfQuarterlyFinancialInformationAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Quarterly Financial Information [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfQuarterlyFinancialInformationTableTextBlock",
     "presentation": [
      "http://ruger.com/role/QuarterlyResultsofOperationsUnauditedTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Quarterly Financial Information",
        "label": "Quarterly Financial Information [Table Text Block]",
        "documentation": "Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data."
       }
      }
     },
     "auth_ref": [
      "r128"
     ]
    },
    "rgr_ScheduleOfRepurchasedSharesOfItsCommonStockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ScheduleOfRepurchasedSharesOfItsCommonStockAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Repurchased Shares of its Common Stock [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ScheduleOfRepurchasedSharesOfItsCommonStockLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ScheduleOfRepurchasedSharesOfItsCommonStockLineItems",
     "presentation": [
      "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Repurchased Shares of its Common Stock [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ScheduleOfRevenueRecognizedAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ScheduleOfRevenueRecognizedAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Revenue Recognized Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ScheduleOfRightOfUseAssetsAndRelatedLeaseLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ScheduleOfRightOfUseAssetsAndRelatedLeaseLiabilitiesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Right-of-Use Assets and Related Lease Liabilities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ScheduleOfRollForwardForProductLiabilityReserveAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ScheduleOfRollForwardForProductLiabilityReserveAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Roll Forward For Product Liability Reserve Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Segment Reporting Information, by Segment [Table]",
        "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss."
       }
      }
     },
     "auth_ref": [
      "r34",
      "r35",
      "r36",
      "r38"
     ]
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "presentation": [
      "http://ruger.com/role/OperatingSegmentInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Operating Segment Financial Information",
        "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]",
        "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss."
       }
      }
     },
     "auth_ref": [
      "r34",
      "r35",
      "r36",
      "r38"
     ]
    },
    "rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Trade Accounts Payable and Accrued Expenses [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ScheduleOfTradeReceivablesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ScheduleOfTradeReceivablesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Trade Receivables [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfTreasuryStockByClassTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfTreasuryStockByClassTextBlock",
     "presentation": [
      "http://ruger.com/role/StockRepurchasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Repurchased Shares of its Common Stock",
        "label": "Class of Treasury Stock [Table Text Block]",
        "documentation": "Tabular disclosure of treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r46",
      "r47",
      "r48"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r701"
     ]
    },
    "dei_Security12gTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12gTitle",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(g) Security",
        "documentation": "Title of a 12(g) registered security."
       }
      }
     },
     "auth_ref": [
      "r705"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r704"
     ]
    },
    "dei_SecurityReportingObligation": {
     "xbrltype": "securityReportingObligationItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityReportingObligation",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r709"
     ]
    },
    "us-gaap_SegmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentDomain",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable",
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segments [Domain]",
        "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity."
       }
      }
     },
     "auth_ref": [
      "r211",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r237",
      "r243",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r312",
      "r313",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r674",
      "r815",
      "r915"
     ]
    },
    "us-gaap_SegmentExpenditureAdditionToLongLivedAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentExpenditureAdditionToLongLivedAssets",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capital Expenditures",
        "label": "Segment, Expenditure, Addition to Long-Lived Assets",
        "documentation": "Amount of expenditure for addition to long-lived assets included in determination of segment assets by chief operating decision maker (CODM) or otherwise regularly provided to CODM. Excludes expenditure for addition to financial instrument, long-term customer relationship of financial institution, mortgage and other servicing rights, deferred policy acquisition cost, and deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r225",
      "r671"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://ruger.com/role/OperatingSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]"
       }
      }
     },
     "auth_ref": [
      "r241",
      "r242",
      "r571",
      "r572",
      "r573",
      "r633",
      "r635",
      "r638",
      "r640",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r655",
      "r656",
      "r662",
      "r678",
      "r690",
      "r864",
      "r915"
     ]
    },
    "us-gaap_SegmentReportingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Segment Information [Abstarct]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingDisclosureTextBlock",
     "presentation": [
      "http://ruger.com/role/OperatingSegmentInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Segment Information",
        "label": "Segment Reporting Disclosure [Text Block]",
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments."
       }
      }
     },
     "auth_ref": [
      "r210",
      "r211",
      "r212",
      "r213",
      "r214",
      "r226",
      "r231",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r243"
     ]
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingInformationLineItems",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Operating Segment Financial Information [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SellingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingExpense",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Selling",
        "label": "Selling Expense",
        "documentation": "Expenses recognized in the period that are directly related to the selling and distribution of products or services."
       }
      }
     },
     "auth_ref": [
      "r86"
     ]
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation",
        "label": "Share-Based Payment Arrangement, Noncash Expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_ShareBasedCompensationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Plans [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vesting period",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period",
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition."
       }
      }
     },
     "auth_ref": [
      "r682"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Plans [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r366",
      "r368",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares reserved for future issuance",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized",
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r683"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares available for future grants",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant",
        "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable."
       }
      }
     },
     "auth_ref": [
      "r50"
     ]
    },
    "rgr_ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares remained unawarded",
        "documentation": "Share Based Compensation Arrangement By Share Based Payment Remained Unawarded.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Remained Unawarded"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails",
      "http://ruger.com/role/ScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Award Types",
        "terseLabel": "All Award Types",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396"
     ]
    },
    "us-gaap_SharebasedCompensationEffectOnEarningsPerShare": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationEffectOnEarningsPerShare",
     "presentation": [
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customary payment description",
        "label": "Share-Based Payment Arrangement, Earnings Per Share Computation, Description",
        "documentation": "Description of treatment of share-based payment arrangement in earnings per share computation."
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ShippingCostPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ShippingCostPolicyPolicyTextBlock",
     "presentation": [
      "http://ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shipping Costs",
        "documentation": "Disclosure of accounting policy for the classification of shipping and handling costs, including whether the costs are included in cost of sales or included in other income statement accounts. If shipping and handling fees are significant and are not included in cost of sales, disclosure includes both the amounts of such costs and the line item on the income statement which includes such costs.",
        "label": "Shipping Cost Policy Policy Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ShippingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ShippingCosts",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shipping costs",
        "documentation": "Cost incurred during the reporting period in shipping and transporting goods and services to customers.",
        "label": "Shipping Costs"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermInvestments",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Short-term investments",
        "label": "Short-Term Investments",
        "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current."
       }
      }
     },
     "auth_ref": [
      "r118",
      "r119",
      "r828"
     ]
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://ruger.com/role/SummaryofSignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Significant Accounting Policies",
        "label": "Significant Accounting Policies [Text Block]",
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r96",
      "r170"
     ]
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r710"
     ]
    },
    "rgr_SportsSouthMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "SportsSouthMember",
     "presentation": [
      "http://ruger.com/role/OperatingSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sports South [Member]",
        "documentation": "Sports South [Member]",
        "label": "Sports South Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementBusinessSegmentsAxis",
     "presentation": [
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable",
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segments [Axis]",
        "documentation": "Information by business segments."
       }
      }
     },
     "auth_ref": [
      "r138",
      "r211",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r237",
      "r243",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r311",
      "r312",
      "r313",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r674",
      "r815",
      "r915"
     ]
    },
    "us-gaap_StatementClassOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementClassOfStockAxis",
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet",
      "http://ruger.com/role/ConsolidatedBalanceSheet_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Axis]",
        "documentation": "Information by the different classes of stock of the entity."
       }
      }
     },
     "auth_ref": [
      "r136",
      "r150",
      "r151",
      "r152",
      "r171",
      "r193",
      "r197",
      "r199",
      "r201",
      "r208",
      "r209",
      "r280",
      "r321",
      "r323",
      "r324",
      "r325",
      "r328",
      "r329",
      "r331",
      "r332",
      "r333",
      "r334",
      "r336",
      "r447",
      "r550",
      "r551",
      "r552",
      "r553",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r583",
      "r604",
      "r627",
      "r641",
      "r642",
      "r643",
      "r644",
      "r645",
      "r809",
      "r832",
      "r839"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r19",
      "r137",
      "r161",
      "r162",
      "r163",
      "r176",
      "r177",
      "r178",
      "r180",
      "r186",
      "r188",
      "r207",
      "r281",
      "r282",
      "r337",
      "r401",
      "r402",
      "r403",
      "r423",
      "r424",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r444",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r461",
      "r542",
      "r543",
      "r544",
      "r559",
      "r627"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://ruger.com/role/OperatingSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "auth_ref": [
      "r241",
      "r242",
      "r571",
      "r572",
      "r573",
      "r633",
      "r635",
      "r638",
      "r640",
      "r646",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r655",
      "r656",
      "r662",
      "r678",
      "r690",
      "r864",
      "r915"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet",
      "http://ruger.com/role/ConsolidatedBalanceSheet_Parentheticals",
      "http://ruger.com/role/ConsolidatedIncomeStatement",
      "http://ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r176",
      "r177",
      "r178",
      "r207",
      "r504",
      "r548",
      "r570",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r583",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r602",
      "r605",
      "r606",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r627",
      "r691"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_StatementScenarioAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementScenarioAxis",
     "presentation": [
      "http://ruger.com/role/ScheduleofRevenueRecognizedTable"
     ],
     "auth_ref": [
      "r189",
      "r364",
      "r810",
      "r811",
      "r838"
     ]
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementTable",
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet",
      "http://ruger.com/role/ConsolidatedBalanceSheet_Parentheticals",
      "http://ruger.com/role/ConsolidatedIncomeStatement",
      "http://ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]",
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed."
       }
      }
     },
     "auth_ref": [
      "r176",
      "r177",
      "r178",
      "r207",
      "r504",
      "r548",
      "r570",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r583",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r602",
      "r605",
      "r606",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r627",
      "r691"
     ]
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "StkPrcOrTsrEstimationMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Price or TSR Estimation Method [Text Block]",
        "terseLabel": "Stock Price or TSR Estimation Method"
       }
      }
     },
     "auth_ref": [
      "r720",
      "r732",
      "r748",
      "r776"
     ]
    },
    "us-gaap_StockAppreciationRightsSARSMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockAppreciationRightsSARSMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Appreciation Rights (SARs) [Member]",
        "terseLabel": "Stock Appreciation Rights (SARs)",
        "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period."
       }
      }
     },
     "auth_ref": []
    },
    "rgr_StockIncentivePlan2017Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "StockIncentivePlan2017Member",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock Incentive Plan 2017 [Member]",
        "documentation": "Stock Incentive Plan 2017 [Member]",
        "label": "Stock Incentive Plan2017 Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_StockIncentivePlan2023Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "StockIncentivePlan2023Member",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock Incentive Plan 2023 [Member]",
        "label": "Stock Incentive Plan2023 Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted stock units issued",
        "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross",
        "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r105"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueShareBasedCompensation",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock issued \u2013 compensation plans",
        "label": "Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture",
        "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r72",
      "r73",
      "r105"
     ]
    },
    "us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased",
     "presentation": [
      "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total Number of Shares Purchased as Part of Publicly Announced Program",
        "label": "Stock Repurchase Program, Number of Shares Authorized to be Repurchased",
        "documentation": "The number of shares authorized to be repurchased by an entity's Board of Directors under a stock repurchase plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/StockRepurchasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share repurchase authorization",
        "label": "Stock Repurchase Program, Remaining Authorized Repurchase Amount",
        "documentation": "Amount remaining of a stock repurchase plan authorized."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedDuringPeriodShares",
     "presentation": [
      "http://ruger.com/role/ShareholdersEquityType2or3_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Repurchase of common stock",
        "label": "Stock Repurchased During Period, Shares",
        "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r72",
      "r73",
      "r105",
      "r553",
      "r627",
      "r644"
     ]
    },
    "rgr_StockRepurchasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "StockRepurchasesTextBlock",
     "presentation": [
      "http://ruger.com/role/StockRepurchases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock Repurchases",
        "documentation": "The entire disclosure of stock repurchase.",
        "label": "Stock Repurchases Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet",
      "http://ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Stockholders\u2019 Equity",
        "periodStartLabel": "Balance",
        "periodEndLabel": "Balance",
        "label": "Equity, Attributable to Parent",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r73",
      "r76",
      "r77",
      "r98",
      "r585",
      "r601",
      "r628",
      "r629",
      "r685",
      "r698",
      "r833",
      "r849",
      "r901",
      "r921"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stockholders\u2019 Equity",
        "label": "Equity, Attributable to Parent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventLineItems",
     "presentation": [
      "http://ruger.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Line Items]",
        "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event."
       }
      }
     },
     "auth_ref": [
      "r454",
      "r469"
     ]
    },
    "us-gaap_SubsequentEventMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventMember",
     "presentation": [
      "http://ruger.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Event [Member]",
        "label": "Subsequent Event [Member]",
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r454",
      "r469"
     ]
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventTypeAxis",
     "presentation": [
      "http://ruger.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event Type [Axis]",
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r454",
      "r469"
     ]
    },
    "us-gaap_SubsequentEventsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_SubsequentEventsDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "SubsequentEventsDetailsTable",
     "presentation": [
      "http://ruger.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventsTextBlock",
     "presentation": [
      "http://ruger.com/role/SubsequentEvents"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Events",
        "label": "Subsequent Events [Text Block]",
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business."
       }
      }
     },
     "auth_ref": [
      "r468",
      "r470"
     ]
    },
    "rgr_SummaryOfSignificantAccountingPoliciesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "SummaryOfSignificantAccountingPoliciesLineItems",
     "presentation": [
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Summary of Significant Accounting Policies [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_SummaryofSignificantAccountingPoliciesDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "SummaryofSignificantAccountingPoliciesDetailsTable",
     "presentation": [
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Summary of Significant Accounting Policies (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TabularListTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tabular List [Table Text Block]",
        "terseLabel": "Tabular List, Table"
       }
      }
     },
     "auth_ref": [
      "r769"
     ]
    },
    "us-gaap_TaxesPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxesPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income taxes payable",
        "label": "Taxes Payable, Current",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "us-gaap_TemporaryEquityNetIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TemporaryEquityNetIncome",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net income (in Dollars)",
        "label": "Temporary Equity, Net Income",
        "documentation": "The portion of net income or loss attributable to temporary equity interest."
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ThirdQuarter2022Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ThirdQuarter2022Member",
     "presentation": [
      "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Third Quarter 2022\t[Member]",
        "label": "Third Quarter2022 Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum limit of aggregate loss incurred annually for providing insurance coverage on annual basis (in Dollars)",
        "documentation": "Represents maximum limit of aggregate loss incurred annually for providing insurance coverage on annual basis excluding for certain new claims from governments or municipalities.",
        "label": "Threshold Limit Of Aggregate Loss For Insurance Coverage On Annual Basis Excluding New Claims From Governments Or Municipalities"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Minimum limit of per claim for providing insurance coverage on annual basis (in Dollars)",
        "documentation": "Represents minimum limit of per claim for providing insurance coverage on annual basis.",
        "label": "Threshold Limit Of Losses Per Transaction For Taking Insurance Coverage On Annual Basis"
       }
      }
     },
     "auth_ref": []
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]"
       }
      }
     },
     "auth_ref": [
      "r844",
      "r903"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Domain]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ToolsDiesAndMoldsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ToolsDiesAndMoldsMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofPropertyPlantandEquipmentTable",
      "http://ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dies and tools\t[Member]",
        "verboseLabel": "Tools and dies [Member]",
        "label": "Tools, Dies and Molds [Member]",
        "documentation": "Equipment commonly used to cut, shape, and form metal and other materials into goods for sale."
       }
      }
     },
     "auth_ref": []
    },
    "rgr_TotalOperatingLeaseLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "TotalOperatingLeaseLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total operating lease liabilities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Total Operating Lease Liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_TotalProductLiabilityExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "TotalProductLiabilityExpenseMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofProductLiabilityExpenseTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total Product Liability Expense [Member]",
        "label": "Total Product Liability Expense Member"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Amount",
        "terseLabel": "Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r761"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TotalShareholderRtnVsPeerGroupTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Vs Peer Group [Text Block]",
        "terseLabel": "Total Shareholder Return Vs Peer Group"
       }
      }
     },
     "auth_ref": [
      "r768"
     ]
    },
    "rgr_TradeAccountsPayableAndAccruedExpensesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "TradeAccountsPayableAndAccruedExpensesMember",
     "presentation": [
      "http://ruger.com/role/ScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade accounts payable and accrued expenses [Member]",
        "label": "Trade Accounts Payable And Accrued Expenses Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TradeAndOtherAccountsReceivablePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TradeAndOtherAccountsReceivablePolicy",
     "presentation": [
      "http://ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts Receivable [Policy Text Block]",
        "label": "Accounts Receivable [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r123",
      "r124",
      "r125",
      "r246",
      "r247",
      "r249"
     ]
    },
    "rgr_TradeNameMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "TradeNameMember",
     "presentation": [
      "http://ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade name [Member]",
        "documentation": "Trade name [Member]",
        "label": "Trade Name Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_TradeReceivablesNetDetailsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "TradeReceivablesNetDetailsLineItems",
     "presentation": [
      "http://ruger.com/role/TradeReceivablesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade Receivables, Net (Details) [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_TradeReceivablesNetDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "TradeReceivablesNetDetailsTable",
     "presentation": [
      "http://ruger.com/role/TradeReceivablesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade Receivables, Net (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_TradeReceivablesNetLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "TradeReceivablesNetLineItems",
     "presentation": [
      "http://ruger.com/role/TradeReceivablesNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade Receivables, Net [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_TradeReceivablesNetTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "TradeReceivablesNetTable",
     "presentation": [
      "http://ruger.com/role/TradeReceivablesNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade Receivables, Net [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_TradeReceivablesNetTablesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "TradeReceivablesNetTablesLineItems",
     "presentation": [
      "http://ruger.com/role/TradeReceivablesNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade Receivables, Net [Abstract]",
        "label": "Trade Receivables Net Tables Line Items"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_TradeReceivablesNetTablesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "TradeReceivablesNetTablesTable",
     "presentation": [
      "http://ruger.com/role/TradeReceivablesNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade Receivables, Net (Tables) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TradingArrAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TradingArrAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement [Axis]",
        "terseLabel": "Trading Arrangement:"
       }
      }
     },
     "auth_ref": [
      "r789"
     ]
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TradingArrByIndTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangements, by Individual [Table]",
        "terseLabel": "Trading Arrangements, by Individual"
       }
      }
     },
     "auth_ref": [
      "r791"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "rgr_TraditionalProductLiabilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "TraditionalProductLiabilityMember",
     "presentation": [
      "http://ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Traditional Product Liability Lawsuit [Member]",
        "verboseLabel": "Traditional Product Liability [Member]",
        "label": "Traditional Product Liability Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain",
     "presentation": [
      "http://ruger.com/role/RevenueRecognitionandContractswithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Instruments [Domain]",
        "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms."
       }
      }
     },
     "auth_ref": [
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r269",
      "r270",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r330",
      "r335",
      "r443",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r478",
      "r479",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r521",
      "r817",
      "r818",
      "r819",
      "r820",
      "r821",
      "r822",
      "r823",
      "r845",
      "r846",
      "r847",
      "r848"
     ]
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Adoption Date",
        "terseLabel": "Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r792"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Duration",
        "terseLabel": "Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r793"
     ]
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r791"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Title",
        "terseLabel": "Title"
       }
      }
     },
     "auth_ref": [
      "r791"
     ]
    },
    "ecd_TrdArrSecuritiesAggAvailAmt": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrSecuritiesAggAvailAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Securities Aggregate Available Amount",
        "terseLabel": "Aggregate Available"
       }
      }
     },
     "auth_ref": [
      "r794"
     ]
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Termination Date",
        "terseLabel": "Termination Date"
       }
      }
     },
     "auth_ref": [
      "r792"
     ]
    },
    "us-gaap_TreasuryStockAcquiredAverageCostPerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockAcquiredAverageCostPerShare",
     "presentation": [
      "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Average Price Paid per Share (in Dollars per share)",
        "label": "Shares Acquired, Average Cost Per Share",
        "documentation": "Total cost of shares repurchased divided by the total number of shares repurchased."
       }
      }
     },
     "auth_ref": [
      "r45"
     ]
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonMember",
     "presentation": [
      "http://ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Treasury Stock",
        "label": "Treasury Stock, Common [Member]",
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r45"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonShares",
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Treasury stock, shares",
        "label": "Treasury Stock, Common, Shares",
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r45"
     ]
    },
    "us-gaap_TreasuryStockCommonValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonValue",
     "crdr": "debit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Treasury stock",
        "label": "Treasury Stock, Common, Value",
        "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r45",
      "r48"
     ]
    },
    "us-gaap_TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockNumberOfSharesAndRestrictionDisclosuresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Repurchases [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TreasuryStockPreferredShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockPreferredShares",
     "presentation": [
      "http://ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total Number of Shares Purchased",
        "label": "Treasury Stock, Preferred, Shares",
        "documentation": "Number of previously issued preferred shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r45"
     ]
    },
    "us-gaap_TreasuryStockValueAcquiredCostMethod": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockValueAcquiredCostMethod",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repurchase shares of common stock",
        "label": "Treasury Stock, Value, Acquired, Cost Method",
        "documentation": "Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r45",
      "r105"
     ]
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "US",
     "presentation": [
      "http://ruger.com/role/OperatingSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "United States [Member]",
        "label": "UNITED STATES"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_UnaffiliatedCastingsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "UnaffiliatedCastingsMember",
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement",
      "http://ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net castings sales",
        "verboseLabel": "Unaffiliated Castings [Member]",
        "documentation": "A component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.",
        "label": "Unaffiliated Castings Member"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "UndrlygSecurityMktPriceChngPct",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Security Market Price Change, Percent",
        "terseLabel": "Underlying Security Market Price Change"
       }
      }
     },
     "auth_ref": [
      "r788"
     ]
    },
    "rgr_UnfairTradePracticesLawsuitsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "UnfairTradePracticesLawsuitsMember",
     "presentation": [
      "http://ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unfair Trade Practices Lawsuits [Member]",
        "label": "Unfair Trade Practices Lawsuits Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_UnrecognizedCompensationCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "UnrecognizedCompensationCost",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrecognized compensation cost",
        "documentation": "Amount of unrecognized compensation cost.",
        "label": "Unrecognized Compensation Cost"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ValuationAllowancesAndReservesBalance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesBalance",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ScheduleofRollForwardforProductLiabilityReserveTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance Beginning of Year",
        "periodEndLabel": "Balance End of Year",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount",
        "documentation": "Amount of valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r173",
      "r175"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesChargedToCostAndExpense",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ScheduleofProductLiabilityExpenseTable",
      "http://ruger.com/role/ScheduleofRollForwardforProductLiabilityReserveTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued Legal Expense (Income)",
        "verboseLabel": "Accrued Legal Expense",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Cost and Expense",
        "documentation": "Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense."
       }
      }
     },
     "auth_ref": [
      "r174"
     ]
    },
    "rgr_ValuationAllowancesAndReservesLegalFees": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ValuationAllowancesAndReservesLegalFees",
     "crdr": "debit",
     "presentation": [
      "http://ruger.com/role/ScheduleofRollForwardforProductLiabilityReserveTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Legal Fees",
        "documentation": "Valuation Allowances And Reserves Legal Fees",
        "label": "Valuation Allowances And Reserves Legal Fees"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ValuationAllowancesAndReservesSettlements": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "ValuationAllowancesAndReservesSettlements",
     "crdr": "credit",
     "presentation": [
      "http://ruger.com/role/ScheduleofRollForwardforProductLiabilityReserveTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Settlements",
        "documentation": "Valuation Allowances And Reserves Settlements",
        "label": "Valuation Allowances And Reserves Settlements"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_VestInJune2024Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "VestInJune2024Member",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vest in June 2024 [Member]",
        "label": "Vest In June2024 Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_VestInJune2026Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "VestInJune2026Member",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vest in June 2026 [Member]",
        "label": "Vest In June2026 Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_VestInJune2027Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "VestInJune2027Member",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vest in June 2027 [Member]",
        "label": "Vest In June2027 Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_VestInMay2023Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "VestInMay2023Member",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vest in May 2023 [Member]",
        "label": "Vest In May2023 Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_VestInMay2024Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "VestInMay2024Member",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vest in May 2024 [Member]",
        "label": "Vest In May2024 Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_VestingInMay2025Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "VestingInMay2025Member",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vesting in May 2025 [Member]",
        "label": "Vesting In May2025 Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_VestingMayTwoThousandTwentyTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "VestingMayTwoThousandTwentyTwoMember",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vesting in May 2022 [Member]",
        "documentation": "Vesting May 2022 [Member]",
        "label": "Vesting May Two Thousand Twenty Two Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_VestingPeriodAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "VestingPeriodAxis",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vesting Period [Axis]",
        "documentation": "Vesting Period [Axis]",
        "label": "Vesting Period Axis"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_VestingPeriodDomainDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://ruger.com/20231231",
     "localname": "VestingPeriodDomainDomain",
     "presentation": [
      "http://ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "VestingPeriodDomain [Domain]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement",
      "http://ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average number of common shares outstanding \u2013 Diluted (in Shares)",
        "verboseLabel": "Weighted average number of common shares outstanding \u2013 Diluted",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r192",
      "r201"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://ruger.com/role/ConsolidatedIncomeStatement",
      "http://ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average number of common shares outstanding \u2013 Basic (in Shares)",
        "verboseLabel": "Weighted average number of common shares outstanding \u2013 Basic",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r191",
      "r201"
     ]
    },
    "us-gaap_WorkersCompensationLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WorkersCompensationLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Workers\u2019 compensation",
        "label": "Workers' Compensation Liability, Current",
        "documentation": "Carrying value as of the balance sheet date of obligations and payables pertaining to claims incurred of a workers compensation nature. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r15"
     ]
    },
    "dei_WrittenCommunications": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "WrittenCommunications",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/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": [
      "r800"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482338/360-10-05-4"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "940",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "SubTopic": "405",
   "Topic": "942",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481071/942-405-45-2"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "815",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-8"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(a),20,24)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.21)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.25)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.3,4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.30)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-1"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "270",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482964/270-10-50-2"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "330",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB TOPIC 5.BB)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481549/505-30-45-1"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-2"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-3"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-4"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-1"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-8"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "182",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480401/815-10-55-182"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "850",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.17)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//944-40/tableOfContent"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "985",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.7(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//235/tableOfContent"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "270",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//270/tableOfContent"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r100": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r101": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//360/tableOfContent"
  },
  "r102": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r103": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480091/360-10-S99-2"
  },
  "r104": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//450/tableOfContent"
  },
  "r105": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r106": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "610",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//610/tableOfContent"
  },
  "r107": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "710",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483043/710-10-30-1"
  },
  "r108": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "720",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//720/tableOfContent"
  },
  "r109": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r111": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r112": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r115": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r116": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r119": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r120": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r121": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r122": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04.9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r123": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B"
  },
  "r124": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-15"
  },
  "r125": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-6"
  },
  "r126": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2"
  },
  "r127": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482989/270-10-45-6"
  },
  "r128": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482964/270-10-50-1"
  },
  "r129": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "35",
   "Topic": "720",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1"
  },
  "r130": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1"
  },
  "r131": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6"
  },
  "r132": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7"
  },
  "r133": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r134": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r135": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//606/tableOfContent"
  },
  "r136": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(a)",
   "Publisher": "SEC"
  },
  "r137": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r138": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1"
  },
  "r139": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7"
  },
  "r140": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r141": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5"
  },
  "r142": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r143": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r144": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r145": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r146": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r147": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r148": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r149": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r150": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(27)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r151": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r152": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r153": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r154": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r155": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r156": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r157": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r159": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-1"
  },
  "r161": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(210.5-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//260/tableOfContent"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-3"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482964/270-10-50-1B"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-1"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-3"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//280/tableOfContent"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "34",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-1"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-2"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-1"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(aa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(aaa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(aaa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-11"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-14"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-16"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-5"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-7"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//330/tableOfContent"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-1"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-4"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//350-20/tableOfContent"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-3"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//715/tableOfContent"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(o)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(p)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(q)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(r)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(r)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480126/715-20-S99-2"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480266/715-60-50-3"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "70",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480794/715-70-50-1"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.F)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "35",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483044/730-10-05-1"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//740/tableOfContent"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-25"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-28"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-20"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-2"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//842-20/tableOfContent"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//850/tableOfContent"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-6"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//855/tableOfContent"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481444/860-30-45-1"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481420/860-30-50-7"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(4)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "330",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482105/912-330-50-1"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "928",
   "SubTopic": "340",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column J))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column K))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "825",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-2"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-5"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-6"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-2"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "27",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-27"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483580/946-220-50-3"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(c)(2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(c)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(g)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r636": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r638": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-1"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r652": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r657": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1"
  },
  "r659": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52"
  },
  "r670": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r671": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "48",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482785/280-10-55-48"
  },
  "r672": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A"
  },
  "r673": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479081/326-30-55-8"
  },
  "r674": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24"
  },
  "r675": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r676": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r677": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r679": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r680": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17"
  },
  "r681": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r683": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r684": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "53",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53"
  },
  "r685": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10"
  },
  "r686": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2"
  },
  "r687": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F"
  },
  "r688": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r689": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r690": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1"
  },
  "r691": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r692": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r693": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r694": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r695": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r696": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "405",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480191/946-405-45-2"
  },
  "r697": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10"
  },
  "r698": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12"
  },
  "r699": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "Global LEI Foundation",
   "URI": "www.leiroc.org",
   "URIDate": "2013-08-21"
  },
  "r700": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12"
  },
  "r701": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r702": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r703": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r704": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r705": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "g"
  },
  "r706": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12, 13, 15d"
  },
  "r707": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r708": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r709": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "15",
   "Subsection": "d"
  },
  "r710": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Section": "14a",
   "Number": "240",
   "Subsection": "12"
  },
  "r711": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r712": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "249",
   "Section": "308",
   "Subsection": "a"
  },
  "r714": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r715": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r717": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r718": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r719": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r720": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r723": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r724": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii",
   "Section": "6"
  },
  "r727": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r728": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r729": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r731": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r732": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r733": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r735": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r736": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r737": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r738": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 8-K",
   "Number": "249",
   "Section": "308"
  },
  "r739": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form F-3"
  },
  "r740": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-2"
  },
  "r741": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-3"
  },
  "r742": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-4"
  },
  "r743": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-6"
  },
  "r744": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r745": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r746": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r748": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r749": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r750": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r751": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r752": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r753": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form S-3"
  },
  "r755": {
   "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"
  },
  "r756": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Investment Company Act",
   "Number": "270"
  },
  "r757": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r758": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r759": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r760": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r761": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r762": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r765": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r766": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r767": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r768": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r769": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r770": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r771": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r772": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r773": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r774": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r775": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r776": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r777": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r778": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r779": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r780": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r781": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r782": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r783": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r784": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "A"
  },
  "r785": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "C"
  },
  "r786": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "D"
  },
  "r787": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "E"
  },
  "r788": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "F"
  },
  "r789": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r790": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r791": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r792": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r793": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r794": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "D"
  },
  "r795": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r796": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "313"
  },
  "r797": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r798": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r799": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "413",
   "Subsection": "b"
  },
  "r800": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  },
  "r801": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "462",
   "Subsection": "b"
  },
  "r802": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "462",
   "Subsection": "c"
  },
  "r803": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "462",
   "Subsection": "d"
  },
  "r804": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "462",
   "Subsection": "e"
  },
  "r805": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "486",
   "Subsection": "a"
  },
  "r806": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "486",
   "Subsection": "b"
  },
  "r807": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "7A",
   "Section": "B",
   "Subsection": "2"
  },
  "r808": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Section": "8",
   "Subsection": "c"
  },
  "r809": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-3"
  },
  "r810": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-10"
  },
  "r811": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-3"
  },
  "r812": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r813": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "SubTopic": "825",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B"
  },
  "r814": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3"
  },
  "r815": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4H",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H"
  },
  "r816": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r817": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(a)",
   "Publisher": "SEC"
  },
  "r818": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(1)",
   "Publisher": "SEC"
  },
  "r819": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(2)",
   "Publisher": "SEC"
  },
  "r820": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(3)",
   "Publisher": "SEC"
  },
  "r821": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(i)",
   "Publisher": "SEC"
  },
  "r822": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(ii)",
   "Publisher": "SEC"
  },
  "r823": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(iii)",
   "Publisher": "SEC"
  },
  "r824": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r825": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r826": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r827": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r828": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r829": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r830": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r831": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r832": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r833": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r834": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r835": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r836": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r837": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r838": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4"
  },
  "r839": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "55",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-55"
  },
  "r840": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r841": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15"
  },
  "r842": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18"
  },
  "r843": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//310-10/tableOfContent"
  },
  "r844": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13"
  },
  "r845": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9"
  },
  "r846": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3"
  },
  "r847": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3"
  },
  "r848": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3"
  },
  "r849": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r850": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4"
  },
  "r851": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r852": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r853": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10"
  },
  "r854": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1"
  },
  "r855": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4"
  },
  "r856": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4"
  },
  "r857": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r858": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r859": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r860": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r861": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r862": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r863": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r864": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r865": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r866": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r867": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r868": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r869": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r870": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r871": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r872": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r873": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r874": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r875": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r876": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r877": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r878": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r879": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r880": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r881": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r882": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r883": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r884": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r885": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r886": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r887": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r888": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r889": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r890": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r891": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r892": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r893": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r894": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r895": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-6"
  },
  "r896": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r897": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r898": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r899": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r900": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r901": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r902": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r903": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2"
  },
  "r904": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3"
  },
  "r905": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r906": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r907": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r908": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r909": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r910": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r911": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r912": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r913": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "912",
   "SubTopic": "730",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1"
  },
  "r914": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r915": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B"
  },
  "r916": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r917": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r918": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r919": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r920": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r921": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r922": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>102
<FILENAME>0001174947-24-000243-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001174947-24-000243-xbrl.zip
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
M CJZHA&E]$P[J?NF'#Z92A'@X%1P^*63Y,_P<4'P;Y$UUKDD:"_O _:_Z_N
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
M%6[F"AX^!L#>IP !3*9P/ ^2"%?4A(4#</W].EN[?X_PDZXCOZGO=F!&EM1
M>43/'6P!+0.F4=KJ.TIO/B@:<$O\!+<OST'7BP2T1K<%IO($=;%G@DK7]C:)
M=M$D$-]LW_R3/;!FKW=><YPK.:$PWP![$Z&5IB +YA@P(0'-7#0)E=V7Y^53
MC>*8VKH/5K>!?CG,1647'!1E[3$<9=C*GBR*K\VKAGIUF+U+5*\<_P102P,$
M%     @ -8A56(*^LG#'9P  -'@   T   !I;6%G95\P,#$N:G!GS+MU5!SO
MNB5<. 1WM^#N[B%8")J@C09W=X?@#@&"NUO0QET"!'>'QC6XR^1WUMRYY\P]
ML^:>.S/K^]Y>^Z^JKEJ[WWKWL_?[5+\NO&X &!^DY:0!*"@HP.#/!WA=!B0!
M1'AX!'@X1 0$!"0DQ#<H.*@HR,@HA%C8Z#BD1.1DI$0D)!34K'04;YFI2$CH
M^1B8V3FXN;G)Z01$^#F%6;FX.?^Z"!0B$A(*,@H!*BH!)R4))>>_/%Z[ $Q$
MJ KH3!BHMP T)A0,)M1K'T . %!P4'\;P'\?4- PL'#P"(A(;Y#_G-"  4!#
MP<! P\+ P<'"_CGJ\^<X (L)AT7)(0&/K6*(\-8!AS,@/A>1ZEU--Z[JY!DU
MUQ?'0*0W>/@$A$0TM'3T#(S</+Q\_ *"DN^EI&5DY3Y\^JRFKJ&II6UD;&)J
M9FYAZ>3LXNKF[N$9]#4X)#0L/"(A\5M2<LKWU+2\_(+"HN*2TK+:NOJ&1G!3
M<TM/;U__P.#/H>&IZ9G9N?F%Q:5-R-;VSN[>_L'A^<7EU?7-[=W]PU^\H  8
MJ'\;_Y07YA]>T+"P,+ (?_&"@G;[ZP1,6#A*#G@L"14$0P?LMYP!B#COXG-K
MNI&HN%3/<+\X3K[!H^;>I#G_B]K?F/WGB 7^EYC]#V+_SFL)0(&!^C-Y,)B
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
M$:*V/6=CX;UU0OL>.E,\2C4MU&ODF3S<K+'D_>4NME05X2<DZ 3H !3C^8I
M FA$B@O$4O#1W?)31/,F&>7$DQ)YN NJD=*4+=Z%)DL%X9?HU'?RMBK#69LD
M;"(U>L%GG=(I$F>KN]DT]3^8M:.[PHW?%2:ZXH9X!@K-VTBING9>SVTW>/GI
M,O]QRI3!."KB</]5.-%UB9((%N66$&/OZ0],CH832A-3#F\\%=8-D6_I\N!H
MHGU!#^T@;)PF5HP8T*]-D4&<=^*0UCFA[Z_]/O18\/G"G;S7,1UZ24=__PT6
M0.C_AM@>!>H^Y-37^G+4&4?%-^=?]_'_)7S6P,?0!@TY.'';=Q,E>U ;E.7/
M)';A1D/$<!?NG*5@J,%IF>-X:3X_5KGW%OS>Q!R[X\9:;1+_QA@GR]^R2-BR
M0J*8S+6[DG=:]GNZ<3CTU6LBR 'N.M7/*3G<N3YB+6>AU93 QRQX#73ZZCVS
M<ZT5Q&Z>-#Q%BD6X"*UC?$3[S;C3UFHB6@YMZ/>[<G:AK(Q>3;D,'H !WO2<
MX[5ZY?2QSBO&0/JU\#0>I1<YQ_ 1TQ6W?AY* 9:+%G/:UJ(*P9GM%?HK@312
M3_XE+IEO29T4K9!3S>0M"#S*D8\Y<X3SR5J5)*.P^$>-]>Z*-+VUS J60<R-
M8R>XO[8S"K) LI@R3L%#KX"[F@U"/]]2\,TWUKGIXX>&^A0,:HK0($/]I"$Z
M-]09J$#$7$OT=[*^I.Z.R+F"BZ6J%_5QM?E2C,UT1I0ZN*J.[?/SL$&*2G#K
M[EY\HF]FR";8Z.3:X@OJOKDA9]3+K"J*U"B=XT=6.V=C5&6^66;B[+'92.8U
M:V-]U*2"ACXAH*-X@:ZTR*+UT>CCXZU9/XB3A.M=CI01JC)=[&6_#YEL%;81
M1JMG<47(%0V //I\.;EJ7=:J;[?%767-=HKN\_/E)9'-/F&#P#F[1$+$4!;N
MDJ?X3U'B=$'@5 LOJ&6>/P;#@_@^)K3=9%^/JK-N-K%7CP&SJ&18(?/8R%HP
M$*U0YNRG6+@89C_@,O/_60S]EZ%!4^V>=6&CT":TZ;[5/&>/VM\;U5V<^\*
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
MT?4F\@3XL(I=P7X&0WV'4Q, _.V[,+/3A2]UX7#T2^#^0<DJB<8F7H%MPE?
M9N\5F*P6)^+^5WQT;-4^^7+(O&NQAWGC1<5P(T08_U.243MQ\0X(1QG^_=*;
M54M,G=7UU14I[(IPZT=8P_E\[S*"RS&D 2\U+W*D)4W=06X-C8]QA*@5:,-&
MC6R9_:(Z6<7$X0/NE0_T,'A'O0,O])0=LVQF 4:?TTBDR^UE7'O,LC8P1,KQ
M0:V3UCP;+IG:KP!>(9M!73S.>\43_UQ$PN$$3CX28Q+UW4Z(#UVO^@%MOE.C
MEN("2Y[JI>+ZZGN2FF<1!ST;R#/VP#H6BS92_?=Z'UJ,.E OE?3M)P[^G;JP
M'\W4OH0"_,!AE2AE?YG>B@49>H/@0"E." .-  CD*_J4X$8X!KV=64S6D+_Y
M"B!6I7L^C%6Z+A5U,IYX#>$C8[T"X_R?\NBF$U=FLI"G=B:N, OEB[07B64X
MRI<V9!S9.>@)?](UV3JB4QO,2_UC(:#BS#LU?8/@Z*"9(DH=^ZA-RJ18W]S6
MG(9-G\5_:8/8:\,I-PWW+8I5J>%39$]L^9(V7Q1MZ.=6<&:Q+$0]9HW3(7@Q
M>PUN$.["@QNX]U:CS>$AMD-=D"O16VP*J]_, :^W6J&S5__2*'V#*D\66:ZG
MKZUWF+924M,#V^(3A@3S4P)%'K,])0M>FB-MGSX')9.\EX@VP&;;PM,:;]_X
M4@[&"7^ #T^ >JO#8NDFR +"!%O7E@#AGS+.U%[[1(P@F21 %HIPB%!HJ2).
M,EL=:&W3X"6BJ""CT=)49VKN.^M]P9BL6AQTB.I<KR).X)D=="6B3I\ 8J/,
M_3:*DVP[=YI 8A)$B4 '<U%2%-J79C-6Z .W9(5WVEI9OT@E2\:[(JK"OE'%
MY[,SYC#JS*T,SQ(:?LQ:Q<)L.S3= /KNO3-]NJAN;5Q-0,W'Z(D]R-.@=EK!
MPO91P<D&IQK9-GQ5PGRY:$?D\V.,509(P:NG4;F_V*>\3WU@(T5^I!"?O4^\
M2\8 ]KN & <"+,H$@H:4V<'2;FJY@AM<\/&G43.&$ @-OWL&"<:P!RD:NN12
M/3U,QKE=J,F<3>5OY\7D>9WI[Z.&CI[P@Z/$#_DQB$]>:K'(=S%_8HV^^47:
MT@4"N]Z2W.W)KGY;Z'*32#=\XU'4N6BJ5][A^MEW<W;NZ3S$:R&<(R]@?UAL
MK\Q%7R7I"@=J<?+S5;OJN/;4R36+J$O6U";,X-M;\HF8KZYOJ_X71A-W=.TN
M9[7R.CLX'SS; )+#8LCG/(Z 7MQ9)^ ?9&RV,Q0G]HS)-RLXN%Q?7Y&QLX+^
MG:"%!AW1391<7B52.1N::+*Y:),F=UHE.>BXN *\Y[\X]U]>%L8,T&JIW$W9
M;#>V%"R</2V%(/_$8_*A7?SE;\^'F$?PIC"%9GVZVO+SV4 U9 AO;T"U@I=P
ME2S8@I+#R^,"S43L.(J-=!\Z)+ZL0CTVWUMP6N$"2:N*)_V 9-FCF#BC^;[8
M*<;U?#I#?3=E R1;G:@V7U4P[Q*\8VL[XV'_*(6_&N7[)RNZ&T0LP08B)M ;
M*9<2T:LI"_[)*:K_:\.MM43^%"1VTO8*// <2=?5B]W#^RU[O )75A/PT?^2
M._OJCT0'N- V'762B.:[T&9N/%)6K%$NLDS:)*OO/3?[A<6>%BE-^0N6'SV*
M< [+CSR6V%3F$7J8VI?EKZ1MO0*;5/-MFMZ=2$L^H8JV: TE[\4-CV#IX)Y3
M?W1JUQEMF+2TQ7X^USV8Y\$1RH]YOVQE[7>0(<+U,FU\AHX[/X$@DN,NI#!1
M17:76GUM(4T[4TW\*_4Y8+_\97A#0_+O]QUD997E**"&:)M#SUGF6G',NGN&
M'R@=#9K;F\PP>O!A3P 8!H&N)8>L(G\>EU77P=X6MV6[J$+DL*T8@E\)\I2/
M)1$"S Y:M19IQ6%F;;&:[E_.GOM;"M0Y[.26A313=3 ^1^$N-<-B)UB^)&X>
MB;R]>;D18+5E8RM8%[[E3+&&=LV[4=.) \@SK93AO(B)%3@'B)F(W4].#'5K
M^K%.U,AZ*OY'[=!:6JNSRSUX!2PS:9+2I$((*($A[BC[DIPX3J52P%$)VI_;
MO,JUMP]L4P8Z6)J+Y$T16;"K[<Q*E&%0:2K:>:SV5T3L!C8R-/Y=/PD>QD,W
M9RE2*T]II^VVD2,?A:G7V1@)MG;U;Y3@R_QLU\QO8VVJM(^G<QJUQ!J?^C %
MWL#<AP]^D\<.^"G:,#EM'$T3G1^/.]FMKDX(2Y83 <B:1D!PTI"P- N4?^YW
M)P7L2Y!*B3;_OI.QY1X987!&GC0J7LZG3E,._H@5J-6A%\*[,A@?/QV1*'O.
MJ">%XUF9O[_T-:&>R<SC;4C2-^B/[TED.]EW_#X >]>(IG<^Y3I6KBK"641M
MB;]F*HT(>1W)P)@E+S!/EH(^FRL:3K!GJZ!!!SM&>90R,@',VHH"8PRO""_&
MEB0#0MEN6&-,'>1!I[.Y7;F<"/E8A%\[V\%09E,+&<DJ,SU*U&@:)5O<4.N3
M*J"5;@\;W-'Z(6ZL$O?MZ" FAK\X?+'"?TC*#N?F_Y(,9>@F),F(0[,0EGG9
MR@^S0_HG.0F^88J<%I:[^8VQXE/]N:DAG,VX'MR UQ2BD$K.78@^)DL-]/KS
MEUXI8>I;=K!DO34B^IP<8B6U?,FNL=R6+;T=<!"KC=>(4#C6&+%Y[>.D%J%@
MI]+8Q@':O^5XQ^+=P,1/23B"Q6>&'A HZ%;"TB97*K?E,KUVTD-\0,GQ??IX
M@.*K?ZV10PK_\-Y\E-.[&;)0/RE<2<VYJW'T@Q.?<KU^"VM$W0ORML&\$I*:
M&T)N*-\Z%U0OA6DVFPI;UL236ZU'GK(XXV_^2C#304-=MQ4'M@W/7W8OIL:6
M']F4V-&I/KMI)*TVQJEB\0/&WG<"@[@12W/9>;JTL3E+*^XI?3_ZMX>XFCRH
M=/L[IU@1>U 27*^/\?Q9=:1*CH@^:H>&5Q6<K1;6CW(G-\[GN@WPGF!_  :%
M:C$VMIT^;\ZYZ&-3-I[IIEEXRM>8S56QW(12[T1ADMA1OP+$!BY'ZB?"N**E
M;F2%6T)]L[;QX%XCHJ3:1K'CW,=CL;;[AS?'_H !"I0X@2_965'J9G^R_.<$
MK\7[YHYF/TZ/\4=%+R\4J -E]^+/L_7N>:VU5@)O.64P&A)X.<=^;6!$$<#Q
M"^Q[DB5-SN$5;]:5'+%;6I6O+XW FO)/46*_W2L']A>,IJD:2)6=.:CG>?1Y
M%=3L$!MB-76%CO6T3SCN SF7:UI=M[*:!BUG?\SRV-U]V)FR0\TX1]:OQV^,
MCNMR,U2Y&'25EA7VF>Z7^V-Z,K-OXEL>%>83;*46ZU<Z5#+0.V^=,OP=,LPR
M5"WT"'PH3]-([5123FA6^T:0[I?OP(B]6$+&\3'TVGYZ^GLE8D>_7P$6E&@W
M[5FC]#Y\5[<01&?NZ.#.Y HP;-7-FNQ/ @K4 J<C]?K?&.NC$"WFWWLA4WB9
M6XV!"J+&%M]8);1&K(UF-M!F'8]Z\.;KN!/7UC"%'0JW+8>Q?IN]V[*5Z9CB
MY"]'W=Q.5PNY.5)N:P9Y?)R[F<+![-O&C&^0)(%V2##7AIE9_&<!X^_>*[S.
M__L:L@\C_;<W)OYW8$+0._>-WSR@ C<GRT>_L[LF\LDCM*5YH#@YM1?9A_%L
MCC8;>/#-]G:N%"5LB+9Z\686-U7R(#\=X%J-W; 2>^3J]V6Y;XA,/KOYMGZQ
M:41O52I3D(B&O9_5-.K\P!M<>.?;IV7!R[XDCO9AH*WFVF@VMIEZ H%=F*GB
M+B?<V\B[U-B#B#7K^,?6E 6_A=*/GFVWJH&IJ:6>.2&0D'OE"818E3Z.L>0*
ML&>TI(?)MGK^P$;273Q$#=_C)6 J.XMV]G,R*GG\T<R?Z6UOWT-?8UKH$A'Y
M"?V):=JZHJ#U1+,)'8&IW5I,MK,;;JM8:-0+5:C6RVR''*5T-(4*?C)F1++>
M)S<:B:/L#\:^1-!G:TIEA_CX\LB]L+4$W0$@PB5<@"Y@!&8J1:G-QW=3F*M\
MM+3?/D7CQZ@+INXY351C+ 95]! 5EM,8.DS$S^DVV?FEZ_$E'KD3%3:3^L:&
M1U:*N"*940;)2RRD+L.N Y#Z&BEOR*'SS&^RE^T!ZK9OTCIY)%\!>F4!PZY3
M2[JSX"AP)7?B*D^=#L_\0B3;-QJ*P&<^-SK" 8]^7IJ&*#:XNUB5V0:_MZ>G
M<E#UG+\2WX=UF#Z90N?8Q1+>UWI6\ZS-X25M6MDP[JXYN+DYVACPWI0+,6!(
M.R01?\:^U4@>@E0?I@VDYVG[E'_N")R"[I;\M>FH)"ZB]*/HF+7P<&BF3=+$
MT'$.LV75<A1F%"T;NSJ=7B5K#T:T&+KNE&[>97>F_DC>*_K-&B]F?YE<S78*
M:LC%UC'B&&FL]TFECY!,W;2X>SZZ\R2UDYXL5):]_Q_%,HE!\)3DM+G*5-)*
M5YBY'MJK25C!%U0K'#-D:SKA9 >:D?TU3K?)&B8E4=3/"M@'XM\'6>;1JZGL
M P<*3<V!8ZNGK*8QB,HFVTD]9;&.[KACBW>W[V==-*^>*:L:I,T6:?HS6X4Q
M'NO;6$6_3B H23FEC:9$\J"*]Q8=WA"II]>3"]A$W3*O#A!\5?D=]&E?E#!2
M,MDJ9*9!1/K4!)GZ=EZ!LFL/2AI7VFGB#3#6?!>[N=V<,*^4\%NS-;JQGDBM
M;@5#1N<',0)DMMS&K]S2$Q;,;A'ZL=.F!Y$'B\"O5D=Z$'@P>]N0P!WN.A 1
M.?^&G6$&:M"O1V2+Z=0%G;"R3&P]5'YZ2M@+B9IU/8;)3N7L)+DZO[O(DE-W
M11)O2D>G38E!):I56D-@3/8@:Y5).VX/@6#<>@*!#J&7''YY14;0/+Z^YH>+
MA6G"1PQ']%\#F5NQL)IW/<,("4NSU\@R6""1GH3HH$3BK<P*?OYM%U)&7:);
MG4X%QR50*T][?1M&/]WB8KX:Q\ =4QOV;=C8YC,C"Y7J.7R^8:FL'?</BA9S
MP]9'I@KK,/;C3[\$>HW1OSO3QM[9LSNCASHLWZ7UJON@C4A%=+56\(*G5@BW
M&3]C-S&6^?==46<UD9"E:$[PC$1+_*[WP]75Y )0*^8FQ^VZC@O@"4\E/UE?
MGWPXZOIDI6\LW0GR*(C@GSGY5G52D7,9 F"(H#I%0AZ;TG:GQK4B/UD8UG.L
M'"NMR#%W@*!QH 8D@ M!DLFY[JD]W9S.\+Y$*0A!?5X95 2D>YOX69(J-N7E
M@3M-)HJ;U/$4),0B@7K\/K0^59LPA=17!JKF=T2L>&L[44=UP9HNS_I"&FV$
MFY2&B<L8L3D,1= $&F*Y]EX(MS[6NYK#)6<^&K'9G]*+5+<:!"9/J("5BF8"
MR%(0(21A729&5V]W_;3P>8TZR<WX3\*+0X/W@5=0GQ2V*3R\S5ZL0ZH?-909
M+]8O3F&;]>*_536'*?A+BLL$BZ*+CEQ'[$H7NMVP?KAHQ?'.D2)>B4*J_^3+
MF<8LRDG%0@\CYP?(!X@L]U&1K/9;$#.6M2.[NSJ)@??LE^5^;9V'X,9X]U?@
MRVR5 5:TZ+;AF?2'H%N=*))@ND+;&2=0KQ.A'$0.(Y#]$+$;EGPB_FX" 9<W
MM-R=%0+Z_:;_9I5R8<@A-[D[*DNK\OOS]/J(,)E#4$2=#6O*5G/%M0*?7EOP
M,?6*#95FTD8*2H%L3'#2#TV#\X,C=;%-)/"/J?Z44!>F9TQU(\'G+"4>3FG>
M;RGVR^OF7:/&1QVP,]<^KKH?A(Z8/!*@6>Q8<KV\^N(H .&(?EUD- G)[BX<
MJ/:_-A>REN(RJ\S<M3?66.)-.#P*##HXFJ['N**ROL6[<[UOF"%6G6:A^-'*
M.VI'DCPAG2=\V8;:Z?6@,0+&%Z4!=SY:K@UZ&9G:JDBU[5 F8QS2(I;7ARTT
M/>:@F!$L.9S,Z5&=MS*NL(46@R<*ZY"_I'WFO47QSUG82/6GL!=?@B+ @?KC
MBCY,'5Z?TK2V+@I)T<RVU(:=D@G;F!([H@]S0@$;QNK"Y^ZNO9^:-!ODRP\J
M3'S>[\\%FSG'-2+#JJW?9N?R[TW](.5A^:04.*UZ!HZ\3HY13W$YV<:S/';H
M97:D7^+H$AA0JK23> 60ZJ<4:#,W.]'-%81LTT#I0<(Q@W=AX9^QKRV!^8C+
M/L^*%I/1S,R.U.*AR]7!$@:K'!CR)!6TV6%_1\TM$?XJ'Q=]E#O+4RLF4+1D
MW\-Q;7@4,MTRG8:.O]QC7#!L[&:7R.']&<U<^2M )1;>P*+*=5M)\4?MT*4U
M7TR?-.<5"O<?;,/-6;A;D;WX$<XD",1]Q@2SG<1):B;;M"!QBJV^W"(\+0=+
MQNG%#@?4SQUA@FY5^;*3]:L(2O*DC&-,\L;;,D1;=#-9!8]9EM?_4T=8DZBH
MV3>M9_^!-1MW9_^KCN(M]O?< "1*-XP*>0[U+I@[.>K/2WC-M*4T.YDGV0L-
M3/AJ3?YRNZP$)J3D,(X_QI71)& =Q(G_<7-.SRC_*&W%#\O%"OGQ7F>XUL]L
MV5"A(L>6$:9DF!UYS(-?-#"X/:AP7#&O;9C%:, SY>OIU-3I@I5\I9S%+D,T
M)M6GX:IK@8,8"9XH;Z]J.4/<V8Z<#8L;!QV=06[,Y!;79@[.! ! +89SR&*H
MU&T7(_;[+H([;OKW!LG1XRG2-7TDX2/4A73K]V<XE;/'^[1W'7.ZTQ_M>V%]
MKUNF8!3_@T':HDS]HW%W:>XO\^ZJ/<@!@&M\ZJW"1=[-/CQ0\0K _9Q?*@ZK
M9+5U(1=U"='*W$Q#C1IV@UV#GQ!$"X41O6+Q/0J:N!)D2C]C,NN>LYSBPKBD
M8-WY#M& 21S:T. K6Y:W<H,07EF-RLH4'B24WZ=<?JRV/VHR$,)X0X\0<\K
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
M$1$%3AVKZ4X/ALXRCXLIAB;'SAN:5C!VK0Z44._> +Z0\(H8^!$I=O(1^.7
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
M>NTH]F2\V8F"P!TF$B:E_K7Q67Q*XT<>Y6L9IS[<_7JE:32D\;Q'CJ<6M]6
MM2E:;,9^KP]CP#'(/\,K2'WT"&:W[B9T)WY(4M"1AG%TC:>@J%'Q:3@..U$,
M5Q/Y$R_QZ0-VBQY$WMCA:*)R%;@W;BPG#T'JS8$XK=V%$F=\[5?N[;$'/X63
MTZ'UETG4%DC4[<W:=K.YM;57NF[X3US@M'M99\8E(A$W$_]/R>=@BER@31-P
MU9[!71N+OV>QGWA^AZY;$!2%#:;'XIX;^G_2W^\F-FZN4SNN7E0OJ^)P, RB
M$<RM2&UQ&E7?V11\3])"29"UN'H%XFK\1.Y[7BR31/W/-S^4]>)I1 ^9^.9V
MY$B<!_ _/V'B%=YX /\\BZ^BF[#XOFU0"*(L[:/R_N!W/5@8J\G0B3Z+S^%)
MGYSK]HQV4(4,0PD'O)--S.EY"F*U[O,(*!3\__YP\N[912F\NU=;K@ N%6IJ
MLBA;SV/8'W_H!N+P5L)N^-=2G'5!OLGDT9*U])U $X%$F2XN%RLO/[6-R&PO
MUQT],R?A"=Z/I3O).WM P$:M^6["R)YY[&\1,--Y/PK+;*X&F/&-K;W-G=U6
MB2MH2<9!;@[\Y;]V04A\3."Y0 YQSB*D25? -N@$&?*; RH<QL6\&=R[S](Y
M=0FG,?93'X:)B3(R!MMHF,5)AA93&L%8I"$Y]<;;]CL\R^BHV.^D'YZ ( _2
M.F:?1$$_F5'KN%=RZ@NB]I,7!*PLM)>TV74'?C#Z<-^BQA3/C<]7&.O%#3QT
M.WUQ$+A)\ND]CCYY%ZJY-U9G[K&++Q27HP'(S+=X:=PY\]6ANG9#$-$/;SM]
M-^S!!Z'XO>_#)Q?FT-DKFKBGGUC'78:"HR31J-YH$Z<6KXXZ^P.!;I=IU/E1
M$;_480:QN':#;.Y&]C*6JSB:&;JXUL;&YXO?+I[/HL:U=PE</JFXZ_W59V#"
MI]AHPFF!V?\1Q3]XE\UYN4N979XM[%@WT1/?Q@)NX]X[YPENXU/0DY:FK)DK
MBVZK!:A@&Y^/0P^]+%*T1Z+3E\!T PSH^TS9.'<>^XEPQ0VH&IL_0K!^12+=
M!&CAP1=)!DJCXR;"DUT_9-_R108S;]6VM,9D;2UL5U4H7FH7KQH\/YO^[6;?
M]SP)D^3_A<NGDV["9/\XO%37A$#[0@7H!8QR>I9_TOJXN'2'Q8W\D(T(HQ0^
M^4_FX_& 4]'%^%!,@</$*3TN373HF;\H#I@?GBI2$&AKDU \9&O@=CH]*]F9
MY[0#Q2/X[RQ)_>YHZK;<]"4Y4:U]>5M_Y_3A$.!F>,(- KTCA:UJ2_4 C#?#
M[EC'QBA/L&/X-49IA0??@EZ(CPYCV9%DM-4;@C(D$O$6QDWZ$49X1)*!OJ7"
MJC@ZD )^YZ;C_'7C)I/,13]6ZWE7$6[HB;>-=P+7VX:+#KYO_QOFC\_3H_ C
MG(D:!R/<"=Z3/%$W2<5>37CN**D^B,\:LXN I3'(:O%C<2^)'V%K!GZ:PF:"
MG=])XRA$U3@8"0EJ\D@<XUT#Q$67U%<W=3G8/,:R^1BV=+%E/"CR6<#>^LO-
M*_$6R;+S432:C2H\P3<U2"Y@X2&&&TL95Q09%_F%F$ESL&+>69B6)VQX42;O
M'L9I39O3G#6GE7*:,ZX>!#"L%&ZG YP6N\@N2/L8Y47IIW"1A9NE7R0#8%&2
MKRARD#<P>]\-1Q44E3 <R!1<0L_IQ=%-VM=?5V&%DO407P>VT-'5J'V<? ]]
M4?^H'Y@V^['')J;FZ*GI!U$ZJH?U-$5QFOI)K2B!T;?9T#+?%O35AX8.)/G)
M:>*X>;TH'I4%$/"0QP?J@:(9TMKX_*V<$A-^474FE&' _X59C_U,:)6B\-AI
MV=:7/WHYC1D>DJ\X)0&+R4%O^)(EH+TFQ=R]QM;4W*OBL@_+=WIN4]3C_T;#
M'_#HQ:EN3YWJBY5175L6C)$>_=AC(LR9HE/C/4FW(S B*M=P@V2)I*?@M9P;
M6Y*<!J((WQ6,\.4W/KP:=SR$%47(K==^0HP=NF''=P,\4)@R@2(#JV$\-_82
M@6$^WYMFYC;?NN_*Y<*KOWW&]1RE=RLI@2Y&E,,N:"T83D5J F%]T$-A1FZ/
M=%(3 @'K&@X^?J2)+;M=24I1J$)X^$L?=:40=A)/<1P%(@(5*M]@)Q=0&;!,
MKM*W:BTK>'#IQFT7AMT\NPWDB-3YM_4M\;UZ63T0.XUM##2\PW7GBU1^D'8
M$B3G(GAS/&!U"'2HH8L/1;%#!KE'$W8SST\511YRE4Q)FS_N=.-]'#**]W.Z
M'@5NKRB(=J8FS[]8=NV*)#?58"<>&DXJ$5:3')^+$LH08+,JFO004/B._3#\
M,S3&X(EN0#8:?-2)XEC-)&(9&L=HGD7(2==^E"5@("A&*GOK-)>!4HWGEQA]
MY(>7Z2 ]Q.D=F$E/LMSN5)9;,B>LEIS$^X@8)(+KC/;8R;=>,ZK%3"1,C"&%
MPK03D9D(,C,8)3Z+PA ]E" ;-['PUZ,[4(8)"UDTYN K<G"8M]OLJ86N(TTJ
M1$2I$'%B6X4QW,?7R,UF"NK6M4\36YF-5JU:KWW=K,.16E^,A8N1S+*D+X/
M**1O2QRU4^V/=PL_Z$H!QRF6*K5[K_1@7\%.N+T>["5N-NZQ3#G<I_?I.B(E
M +4<M*/Y3S1&,4R(1S@="2 KG40RM+MX$<!H97<&<D>6\K&%BP+N+3CD>,38
M0P/'$U0IX#(,VO(%8K\&W2\!NO62*/#01'?P&1>.+6A:HNU[K(LE/_ VI,%@
M!N2<*8Q3P11U^.;O62A%LU816#6U\-".(?DG_XX@J]@4ORAN/R)_&3Q68/?Z
M!ARKC@^69$)I&#;OA]E@TXO23?7 )/^?DVYW%$1NNB&PDDS2&%GH\^A9XA6.
M1;.V\;E>J=<;E:VMK4JM9O+=]-RPN.SIM:W_;W-3'/G @Q_$.7 "F/*PT<A9
M\&JQN:F>III\_H%50\_OW4RCX0>QC:%9]4$[2M-HH#Y3V2KZLR^!"P*Q,21&
M]+T-:\&3 ;:'Y.+:DZF53(9R'>SEZH5^%%B]_4'LQV[;[WRDL@PFQFF$%*C;
M/WJO?X7?6#0UM)E&JW8LW1^;;0D\!Z,/B=0ST&_C9QEBX_Y9VLO#9>?;ONC3
MO$Q)S9ES)-7ZH%2!%,M2LO%10D](V[\F6DPG%.=GJ7<DVW'F@J)3WR+)U_H@
M[I9(I$G5/]XIE1JV5#H^/7J@7.*WT\LO:6%G^;I*!14OORBKZB"K=BK;VZU*
MHT10*8JMA+Q:6%+LU[.#[R>'IU>76!IV=G%^=K%_=?A5?/E#7!P>'5X<GAX<
M5F=*F5UPEN7=ZIR$#1^B+)U23I_D-232^S*ZT'K$%0SR)0 >LOAB=^NGI<_4
M[3U'+PS:-U.-#W$>1[<C<:DM'P?,#9?4*:7RX/D3# \@3J1,U3FFD] ')0>M
M%8Z-D8IUXHZTPM(BJ\JW*%'4J?P0?G?NQJDX/CX6;X]A @FL'-X:1UFO[]1;
MRB\ NCL7 U=9O(YY4I[DG,QPL3?6%SM2H/&*+_:7E"%^M?_EVR%6Q1^<G5ZA
M!%]F4LL3)WP[XMZ4;^:(%)U .*?PUXWFQO23B2O=;33W/GYR13_&:^6_W/^I
MU4!!.-^_N!+'G]Z[5G+C0UX_5FKGASE14V_BL;%DT.9D,NA.=6_+Y(/Z(=8C
M?A";_.F=0X]/DT]E&6^9?:A5M\;F^]#E?\9;1-2K"UEL<:\:&Y]UH-3LUN-I
MH%>]];AEK_H6SV-3]Y>QJ\V-SQ=^\D,<@5(>Q?/9V7ICO:G3-O7+,C:UM?'Y
M>XAPEP'ZXT'7[78%&G2HJ<]GAW?6.SQMAP^6L<-@0QV,VF"+J.*"]:XN=E<;
MR]C4;="&XFB(LY%S.J>[ZQV=LJ/-9>SHSL;G;[+G!NAUZ$C*=9W3QNZM-W;*
MQK:6L;&[&Y]/0!46EVY7IB/QU4\Z091D\;S.[7I['V]I%G=J3YN8C[<Q7S99
M^=1L+>'4()SA"<>S,8.R!)% Q3P.55#X GVSI,$:YZLXP<2^.*&X\C%5H(GS
M+.[TW83#V_Q;JWYF+@>R45MSSA3.V5X&Y]0W/O^?"YG(& R:_SN?':VO=W3*
MCNXL8T<;* LF\G'Q(LT8^Q(/^+Z5?'9DLA$/HM#C?&Q\!M@B"S@=\FPH&<5L
M3H=^[<>8RB++<$XAGN _,>//QWSC:TG;#1\$^F]+[1+[[2A+A;I>T*4U%Q9H
MM=8L,(4%=G^" TI7-[G_K8W/^:F_S)-5D0\NL^$PH+\Q<P(+&.>SX=OK#9^R
MX7N+WW!T:U$**I9<T#;#$7=[L50;_SN6VNQS'81+.?"A_E-G1.8,DTN'N7#&
MSMH[-I4SEG(;;!.N(9;?L 0@GXHW-YM[O;_3]W<940O$K62 VN/0]"^;S\ZN
MO:!3=W89T0K$YLR%,=K];DSYD4=1+&%F!43B1%QA*<IY+*^Q*N\X3(:J:&4^
MO+#VK,W)LU;//6MKU]J=$<':$LX88HQ^];&^*XJ3R@3:K'*8'>C41/$;EE:A
MIC0GY6A]K*9N_S*R<Q G,-_S ZLN;[V]"][>982&$1I1XPB*LYL0SG/?'Q)
M',S0!5OIBPPE''2T>_A[.N^YATVYRJ;ZT]=LLF V64:\&9$D-4/07J/:!(R2
M%':?6DZYNA"8;&R^-T#9\N0002_F=2WLKL,F4QEB&7%JQ/3)(>ASQXDXDE*Y
MT61\C6CTZ^U^\':7HNO?41_17-='( 6:Z_J(=>' 8XU.1.5BH_-?+Z!D8!FE
M <M([$  LL/;OM_V57"F)&HCL"&\EP5W7#6E5\JS"M,OS"_3&*?X#A@$\ ,W
MO=/_74K1QX4T[YC+KME]TB!O'S:=QU6 V-.9LK&;C4:UA%?W2H.*ACT?-OG'
MQ0QFHN4#=W7O#N5DP?7V#VK]\[PJN5_VZZPZ]</_/O^V?[I_=7;QAS@]NSK\
ML)C-?*&$?#I,*"X75_7J%P8!\2B*T?&\^0\8#JZ(045<9#T9.ZI=K<;)/ X[
M595-T4Y\S\=4BK=8!:]0; \*J+7O8$X_).%YW[BQMQE$T0\,XR3%S(QA'/U;
MXXQU(M#MXY P"S.\JX2\Q7@.NR:JSB7!/%N_AR<86PSQ++BC>^$GC"<42QMX
MO*-<'O_!U* N87+&?O*#G\U"]37F@E88>\A--*Z2)X'R7L5)7%!,1""O94"9
M9%T?[(MXD""",<AQ,)_1<])Q$\PS2 0_CL/#4[@Z>!#)%DK)Z*"P60P8J3#T
M</WP<602U! HM.,._12>P?5A1AM>Y16'<0M,3AM]!3\/_-3O,=*:VX/E)(SG
M9[82__#AWXP1KXBMEV%P*VG*X;4?1R&ES@2PYIZ?L*N(X=TML%()RQT@;E2%
M$=U"ZB(Z ),+W\&84/!P@)1!V%1X.;*AGCULC>=WNQ)^ H/$/H&/4V-OAJ53
MC"*]JO@]0DA4O3D:0YGV7:,K.^K3M@Q\V*=Q=.9\G\:_0?!.V..Q3_7:QC^_
M\8-@ OFYCXL<GPBMW(9^CBAZ?4-+P;]AS0/:P\0?^($+9) N,@MLUFBHL-A]
M;G@Z4HCE4T]6%0ZW2^ 3R/Q ;MPPZ3D*M':(K2X1?#0C #T? SMXA&!&0.CI
MPU;4+B9#,*?A!S CUZ!G> Q YLFJN,I9C2%.4Y($822B=J#XTL%Y()Q5TL\Q
M<*>+"GA: U-2J)>/A!]WL@$"S73P@'53A6Q'4[F'1$09G*[#@)8V[&7486&B
M <C:"?D=4EB,?<!Y(M6'X5ZTUGX=I$!K[==Y(@V;_N,2PHX"56#38<%3TL@-
M*Z#TCU&@L20*'%\=GH@Z):\W/G[Y?GE\>GAYN1($64"_U7SA=B\->L*3'=4^
M_ -=#H$?2NI;1_?%V37&&.2-:?2WS,DN62&WE6UQO[+MW*5L^X@1KV(WV+4E
M[('0,=C.GDS@U14$-<^P<PFH>ZR_H6YJJ["DAD4#U'<ZH%(G(#)!C:B*?_DQ
M:FMXXP>![JAFS8'J,5C1U0U\1C"@8%#\K[(C"?FN66>T3G$C4>%D[<[2/!/9
MP]NYPC#Y 8*JIWW@G_J;_&&M5SOJX:HXO"5+AE\?RR&HE!3$'H+.>$MZ&\Q[
M^TUAG?1P054QRV!B$7ER>A&R5ZZ0H_801(BPZSF*QM]#G\/EA)U*RG$PB$#S
MQB9/,!,OZZ2,E<:-4#29JZMV_N>)>*B/M6D!!<1J*V 8T'3QSJ_OM?:07 ["
MPQ8 T>!9]!'K_<0\3P69C_0.W!M2/K]*^!>#J<%8VWM%_1,.!<S5#Q!BNHL:
ML=J)A(]&+/%W'DP9H:/Y*T>U1$&,=@6>""8BJ(>P_*$/1R)(^/" WHJ@&?$4
M/C*\1A8HRBD%WH9O5*%S!,N-8&0\AAX6./KMC).RK-/L*+0Y1(.4,6.LZQ8"
M;)J^"AZRA!>?KP0#54#,:SA'!,]G3&Y4[%EB)*F4 1[!:,0_&D@T9/U0>1W
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
MYHM4JELP,M\9W+VQ3:R@^X$/%[I^P,K_3^;G6$YH%49A0!B'N!7,O)YCWC1
MKS1#<Z*WAUJ#$'05MQ?N$M!8F&0#B4*2-<^[\:!\H#HK>@CZQ_B)1N7,<4(O
MT=T!UVG"0(OYBFE<8GC87J4U)O[ 1^@HW0 :M9,!HUE+2LW0<N;%BEZ"C:UM
MD179(]>2#-U.J@*"YXR2J#;]FWL#[(V&*0([XG$"K9&%@4%P/_]VL+^?^XSQ
MO-!'B,R6#VV!=,,M*JFS@4I_(4\?" O/W:3PD-T0C8!7P;*.T-?N).BL(L%(
M')JS7GX<P890&A(R"Z7:!"-1E"(H.&EAF.J*MJA!M?2[RLMH/B%@UX  Y$A=
M\D.G$_OH9PD0UG4ZF)NF A"..G%$'ME ZAR)!&6 DN$8ZM.M=E)TL8*$A&MK
M&,A<%O!@K#A(D&2> \L#GB;G'O9S\.-.-K@F*XVQS!5D.2Q3KSC)4 073@"N
ME9V3L^Z'RCPC*5/?VZMQ6 'V@:/'-9:?+JI&O.\*8,X2+_>?]Y5")%I48KN6
M4Q4C_2D1FZ497_*)4F6,8 (&9B5!ZXCD[#,>25N %2"8D:"Y9F!?@RJB)<*,
M\A7A&\1Y):F9(]'J8ZR->Z6)L,BM6*H(M3NLBD/UO#T=!9$YC/ 8M:G'$"XD
MQ L!71/$1K<IBN. '1;(-(@:2-Z*1,H?N)( V!<_ZKE_P@6MT^A&V.J>KW^T
M7=INGA^) Z//%8[Z )]/M$^UH'\8X%PPC9,B?=1X8Q>@$3X42])*1%?R'E6=
M,U+];0+@"A*^I2E(282FKDQ1$/6PMR-'"$!L#OQ.' %Q!T/MS$VB30PEP(N5
MV$V Q[!C2:C]HF8DT\P-R.N@MD) VP3DK40C!AVD2Q[\%WN\IF-LLOA"^3^I
MBCJV@HA(G)D;@WDL<ZWI4J+9+O9U:$J?KB+:,]RM,(\T,YQOWGP#IS89PAN\
M*8JP5N^4H"V.2["<N@]*'NMAZ&-@;DQG @T5VVEDL>KFIEY<?OQSH,^V))!0
M4N.,*GTM]3R4$\"LA5M\4(3)J-WBQK@79L/X-*V'Q@'M3K548$&AYQ[VG(F3
M:U:2BRLC9M32<X/)Z-DHI_+X!DR,7Z1^"3/'?;)SKPO6A8G@5"@U3-["244[
MCX23]A[D$M5,D6%W7>1(8Q.J-&_$V$<-@9M74Y (JS?T8.BEHIXDN?V(S4J2
MHOQWV+B@/+/X@=[/YMK[2=[/YMK[N2"1'.-EJ/+J"YDZE;P7G:7+C-OSZHZM
M:!5:G2ISYRH]1%Z/<""Z7-U;+L<P!Q">>(\HP@I!^P6;>9_:I8$BX^#M3L2,
M'(S;9C'I+>/N-912W8(V0VJ/Y[-4MS>3?!*L_Z&W;7D$)G#$ &Y+=CH5?&>D
MSW*O8'TY.&/*[(1;3=\1L'")5A#(Z &Z<H9H"H<IGAR^MA*9N]6,ILP7RTCW
M*$%;.Z-T83MNQG3O^A1Y VIB11YL3\7RH^#U<DUW&G6@8U1PE/PJ@R-B+TN>
MTS2@FX$0O>V6#<6&)-B@!,^BW\Z41N!,=F!Y]D?C,:> XBP3W(\Q5&SUTM.^
MH26[D37#=,GC25%<X"P_,>5\VGY![/D8)TP.NE#_:4T>=3)TBFK >_6G;J3#
M)A=99J#&D4)#=GQ%#<W2N(L6ONQ)+\!6'5UINBDJ5L, +["N[;ZMZ)_ (OP
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
M/Y6QYXZOC"F7QZ8U KJ=LXE5/O8:'8-A7\AJ*TVRS8*@Q%TE)E:C^A.2'Z%
M3W3D8:^M*7%I[4XCG1:T=25M[!T8*JM1%>^E>4BM^"8-M$,=]'@Z#"&N-B$7
M ]G0PT2!%<X>6_8\+IGCCJ\T*U'[,\0ZP$YYNB&D*G(FYU'N_QG;!K5=A8(L
M-]%IC,HIP#BH!;B1(MJ(=G!:83W%,PXE9J0^9^?"C.DZ*4PA[YUK KH]2D?7
M *%P^[3)F\?YK-++.BJI,9\S5KY=8]C0DYB&8;K?H)N,(HH*C8I0EJ+XAY4P
M0I/7S4OP#)OB,C_6 !(8)QYSP$H7?71X[RJW-KLW*RJ]F@K&:)*>5!@P%>W;
MQ-2I@C]/I?)/=^#9A[)\ ]%'TXG]-BIN;3BGZ^-BYF'[VPP^CS-YD1BV)UY2
M\+_Y(<-<(NWM=^UV:=C9(>3V.88?$<,K4\A>;9G>(%=3,R8L7,,<'C6H8[M
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
MUM::J/,E:J-5W9I-,5D3=6:BUEO5UFPFUDJ4[C\RP6]&U67"84J>TI>AKCY
M(WG=>GV]69_U2+QR0FUM5;?77JQ9+,5:M;G.(YV!H[9;U=J:HV;AJ)WJ4GQ9
M3^M]F.G:+@M*OH0]7E_8,QL&6[,:!J^<4%NUZM9:O,Y J)U&=6]]]&;1E7>J
M6[.YY%XYH;9KU=W9/$(K9US/99:E5_=L&4@OA /6U_FLSM-Z=6=-J!D(M5>K
M[BU#ICQW0C5:,P>.7C>AUO;W[+'_:FV9U_E\LT#MMJ#Z;4ML:7RDFL2/,!5<
MAMCGM:1/O55PY/3=1 SC"),U/?JBBZGC]/M.GDJ>4BIY3*GD\#^<96LZTM^O
M:^A,9PQUR&"T.<2N<TF?.M[#-TX:P]YA&FF'IN6K1FMZ9M@N-A]UJ$9=0('/
MO?LVUANZOJ"&]ML*[^;_7!Q>'E[\Z_#K_UU4.]A[UGM7"5-]7<)$)4SU=0G3
M'/CPOJ/6>"5MV'>L-NSZ<OZ$%Q9V83_=_^WPY-!JO?[U^/+@^^7E\=DI]4J'
M![[]<7E,/=*/CD_W3P^.][^)@[/3K\=7^AD0*=^_7=$C9^>'%_OXQ9+ZI\]<
M78J9[8_BHAD[<>MRVS/8IVM?WICZD&??;_N^+$'Q%J]LU<S=:A7?J']\Y_BH
M"_AAQQ^Z03 "!:('IQWO:+KG/9G NRHPC3#KNAUXD>3BI<0-J%%JUP<9%@\2
M1/7Q(I@Y' '0(A(X3#).JF*_4-:[M_<&?X0_3@36[G;C:&#&J#J'M\,H3M7W
ML1R"VH&U)<7:X&T:@]43>K(JKG+MQE1E\=1ILOGL4=^(AI*Y@Z<01!TWS5?\
M/02UTW,N4_@PH5^[P2!*8!*!44- 98&K""8&Q-.++I^$(0^^*4$.3U6=DBL2
M&4@8*S2M?%$O&J(&!R/?]"-8&:S.\?PDC?UVED8QL(6]5T!RG#'V.Y=QQT=R
M(/EPC< V/V3Z].70"WK=E5T^'R21S9^)L*J2.FZ"]$@<JL,G;DM2*0/<S6C$
M^SN0R$E^^&_8#> *,8!M0AJ^52?FY/A$GQ:XHV.E!?NHC*!JFB42>0<[S^>[
M':H"=3PEL$U9Z':[?N CHU6<%)M%;N)0(_NH?),)J<"AJ)>=$MIJM1S@G1ZN
M[\5N\!E>\@E288![/(C A$@*\L;0Q#HUA;," \,N /';</+2. I1.JI##J/
MB?Z/0G9E[ 8V@'#G;D KRY^EW2I[]OD3GS206>]/76@)%#C+)>BFPL55=^F3
M&"QS>,&,-%#&+1C8,*:W, WB#JF'=\V [BL,TV_JVT2QY=CUXVBSN?2TB.)I
MB=#6=_T SQVP/H%R>&2#)_"VG3<\!I:S5(7V.21@%PE@!C_R0"WP<*;P[.GQ
MP:7UT]:;JH-3[Z$Y#T<HEC@GE+3JA,VP$N, @%\;_\38&_,0C.CT9>=' D0=
MX>EW4UXFJK<._JP'4TD2' 2&'43$R14D1P=^G<(_8]G&ZY]5'9P.;(<,$Y\K
M[X?NB"X76,P ST-7PI)$$=7%3!R]&S+UD<8+<5X<EC,$;=;T#:9UD0:E:>B4
MT_##,O7C!:%BS%;A.VO=[B/*<^_%[9R0]#_OUH4UHG3Z=:.Y,?,TM(?EOO>5
M%6NMX!PGLEA6<([U.06:'\67,[#@72&#64,")2[_*=GW+Q&!=_5GN-BT1"5B
MM^LE18_V]86&=R(NT4:FR^OKV.5U82ZOM_5W4PM*9BT8>6BE2NU->8ROTJIM
M5[8?7ISXX$J9I2]L"Q:V^_(6UJC4ZCOS7]@",H76TGD]PX5+Y\EW,X38?L&T
M^I*;!0=L6KUMO%LP >M;E=W6[LPPI4^TS?7M2JNQM?*SW*ULU><URP5G42S9
M.)PE1LS7P*\;;";>&_(K"_AAO.]]R37%WWPN46GN=0&Q'UJZG;YRP3#B+$RG
M@SD<RB7A4HX%>B;:$M85XE_H( ]!KQH)-^4P3S'&$&2)D_3](7HY+-^1]KAC
MJ,=6SCR.J^ CVA<4L"];8D+*Q!OM'U/8)+$7A0[O* S@2?3.W(X<7"6Z]D$J
M<5A#>.1^$RZ]8O0A9\O%\"3_MZI#MG>Y(I\SD^YM5<$V+>721KVZ9Z P@0![
MVSM['PL >_?P[:.Q_BXPXA>%PG-3-T]: L:>YLAT*(D(F2B,4G&-H_@3WKG*
M!#A@.>?<E0K36*?"4"I,X_6FPJP/_6(._=>(#F\G"A,X[K$81AAMQP W7!)T
MG21)A@CK?MKW0Z=P@Z&/OM-WPU &%0NKLA=%7K*)Y(Q=&#5EU_Z,8F"]P0O>
MX&Z0X07/(44,IEOJ@L-1B^J,>S7/R_YUJJ*-V531*3$WO'F'C,\+U^Y-7W*,
M+[H)98PZ)<7T,9]&1_(K0L(Q!B8(@2Z@ZF6)! 72!]T.3VI78BL$;)G@BB,)
MO )"X$CG 'SSX2),I*Q."P#B9"@_))\1:I/PU\"GM*( 2*;"?^K#6,(\X#<L
M("*:F>N!U$$!0Y%'!^.:\).J&+>*%LB1=3\L#1FI#WU2A#Z(S7LX=Z%S8?-D
M+ S,>AOE<6$#AW8$!,0N%["50$NCF)U>7A[AOY.LC8GAE,1$ ZB=+&AU'C!
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
MPE;W;GQT\[]1Y$^_WMY_O*;?BK]R9"F8O0FB$[ )U$M2<\ <&X1H$*,FD*.
MC2-'SB!"(LM08(SD<L!2 !+0)M8K?(I+DB"W_+C.*+"!C5L^ZA=VZ  *DD<&
M#-$PLH.AXZ&9"#8CMPYI ==FO)M_?#Z*E,5] CHU%Q=:QC*DH-T:.2,.G!O
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
MCXMNZICY/AM) Q3T<497,ESOBSUD;L!8:UE\GK(5G,#+0(1Z OQK8H<8Q70
M92+ +#[T&< !SW &X1%DU@BX#C(82@R0,%0&C[3D67VW1(K4;+=0UN$:RBT5
M%JYXSJ23<(D,RALF>\C6P ,$/H-.!D=).7Q"Y'Z]N_N,?P^B :!Y2+'$3"Q8
MSLGK$1# ,'1>>:X&S= 4:2T.I7];,7%E)8!8B >G/4P%<(<,'AA)0\O'9F>8
M"J*K'VYN_J2_:1_>+2"4A+) ^L!]ITF>_!/X#N%^ O7AYL_X2=S^ !-G6@<_
MBVT2#(TFP9 2#(TFP;!DZCSX=;B>9TM#4%X&3+9!V1]R0UA"S?&!D0X2A,!:
M9,=Z#D3NV0/:RZ2AD%D))B[G0W#E^4<V$O 4U16AR*"62ASN ;B>[Z*AC-'^
M!R FNQ264(V$QPVS0.'3,\@ C=TB/GNRV;-P>RS,&Y$VR_I4LK(H59Q%6J5P
MW2Q=B4@YS%F]N/K4L5PIG2><K :_!AP@P\CD!\7>F7AK/@WZYLE=5I(=2JE>
MY#6FF<B9Q2F)\TV2O9J9C,V3.VM/%L6OQ&V*U1)[M1V/_)-TVS$JU)C)1X9Y
MAF[CC$+2^?LZ-C8E@DD<B$@C]2>)(JQS(XLZO=12-G5O3>54BFX44YIA+L8W
M-X9 #?:]%^)8<*^Y%426,'$'O*Y!-)UZ/AA1UM0>2>/(&=N.0]FX $>26CC*
M9OVGN=P")IEVC!=@6URTY!.7)VF'9C%9OJPA[QMNMQ:Y@R6G1JW/ MM?KEJA
M1XOG1&RR3M+\?SX+<6&P\# P5AA-Q5H#GSV:BH6>=X.QR<*I9XY+]2&LQ)#[
MM;-JCIY<M\%0FQKE#&XP"*=&NRH^/*?)@CQQ[E9]" _>&FV]ME]HSHXQ%W*M
MJ0*WP3B?\U9U-YDJ=-Z8VF"X46,6G"/3KSZ$%11+/'\_=;N_-4]$!)F:UC#6
M8B*H9Q;6[<\;4V:O<%'$?D10%>96G7:2X[S&O1 Y!^M@*/$0NAM-!EB\.N()
MLJ)-RESV<@8(2HQ[!% &C+DR9EA.X_XHV6H,;*6"*[ZR,.V?)X#.55H4SF8L
M<)";!&_.DPSGI>Z2"#KFPY+('GFPK2QMY(IFTGXJ<C;I)'GHT7IBLC4<4N&-
MQ\.'GIL\E@T=5XX25B4NFDWB(B4NFDWBXM8@K#N/(Z8%_7=D^4!CSJM\%TU@
MC5?J@R!_A.M[0FE"/'_$8;Q]&S4#Y)NU7#>*\\:(95GN2,*N4U% 7=\HJUQ)
M.QN*K C>Z]"Q@E"F*+[\-T=CT&1,G'2W)<VL7KNEXBZ NF%[__,:_WMN!$BU
MVS\5W99QFMNJ61NRHMO:J0=9TZGK9)VY#815=X@+9<CLK<Z3H4%\U1EIJK4[
MA;V,-<H?T?OM4TR+T=LGF>UC]+3];ZL)K-:32S<05EW2K9!NO+@R%6\E(<KH
M=Q6CVFW-C%[Q=-,C@6@:6M5!;.O:G@ZZ$0?U9&4-A#46!W<\,%RZ-# 4K=I\
MS.@:56>U*+"**N''$EA][&G=2(/SY60-A+64!EMTTC^ !5%UAFP:>^)VY8'8
M-JMNAVV2F=O(C H=7 -AA2 \@LPHU.N_;.:AM VMZ@WT#:7;V5?__!*![&O=
MJ@,)-*H9>YY$T$B+!L)S@_ (TN(:WH")N92A>D<S8;_[]I!MA[*?"KET>D<X
MS&*0%6O[<P3(.IVJ0F;LXS0;IE]/AM5 6$NFG^]R@<:!XSV4C*^.6?G0<Z]G
M%NZ'<200^YW*!QO [NN;>P*RD0OUY&D-A'62"_AN 4TRF40S6UH;$]E%I=,E
M_NB]+#XNW+RN+!ZS04^Z8[%!M5=U3MWO*]UJ0]A6]R20&T%23R;80%@G0;)D
MRM5FLF1)T[UVV;.)-^F&=ZQ@@%KYA"V]6WG)K)O[-D]JUP"HJ4T_:FWZ@8I5
MZX;MIC:]J4T_Q6TUM>F-8MY 6$?CIIZUZ5@T<8JUZ5H)TPV.ORVS;12V.VNT
MK6Y?+1SO:VK33YQ+-Q!67=*MD&X'JDUO:WK5G5MMO;VGFHCR0.RVJ^[%;)N:
MTF^B.F?,RAH(:RP.#E.;WE;UJJ>+M?7B$QF.!6)/K3R(1KNI'#EK3M9 6$MI
M4+W:=+/=J[IZ;K:[E5?/>T;E):_6:RR(L^9W#82UE!G5J$WO=O95K%P:D(;2
M[U:^@!Z.OU]\UMJQ9(5B]IK:]//F= V$M9061ZA--^82QDZJSKH4R,RY;+23
M@JQA^O5D6 V$M63ZQZA-QTYW9M5[!FJ*852^&:ZF=(Q^]8'L=KI-<\.SYFP-
MA'62#OCN>E6HZ\4'#AV+"ZI[\J&7"6'%8R5:>T\5](T8J2<+;""LDQBI=7VZ
MUC&K'MW60.I5/H6WZM9)N[WGR4VE5*?3GZ;9ZDS#/!Q+[IBNMXQI!L#9\O5_
MN[R4/]O,&;V7OUL/[ .\].^(N;A;HRU?7HJ?$YKY$_!'O <.V67H3=_+!)#X
M("ZPI,\6%EWJ:=%EBI+L=N*J[DW1Q(%1%P"C(AJR^XUW^D&^?YW"?J]]:V /
M/\A?K0GCV/CJ(0:,=O:IG^/'\*L,5A/D+$/6P&?67Y<#-O9\6'Y*R"Z P(M=
M:>9B/939[>&^TW,_%-G"+G?KK+!?.N&54?^XP&X, -IR"0FK@.C+\@M>4J4;
M+0W6^?EJP5=:JX^GDI%<*U7'K-QC+N)!MA/Q9P7RU/>>[!$;R8-7.7QD,E[]
M*:/[+X^R&6'>F+X7%AF)U>X'>GX4#<.@E7*O,EE7NSCC:J]B7'N!1C-:1>'A
M/X5CLUUY8CN.[;F!Q%Z&#):Q1, LH%C9%&-EBNRR$%'^F0'WLQSYT\O0#IA\
M;[V\J\YFEB&W:6JR6&VH8E.3G9HW-$U-8@6P:6IR8MMJFIHT34W.R)O30%AU
MC]C:IB;4SB20?[ ALY]*:6LRE[VSIIE$3VM5N4'&IMO1=+-5+#6I'OOI]UK]
M$]J.9G;W36Y-?*>>G+B!L.K2;.$UB#.',TG#Z -9(M@V0V"1S-.V5HP?[O=H
MBT!FSC<?K0AD1K]=5<AZ^X"L$0'U9%\-A+44 9]XB&*G!.)"S$$S6Y4M&NEV
M6Y4='-CK5Q8V4U=;#<L_7W;50%A+EK]$ZS^4)#![U>5GW:I"IE97Z=^'5&\F
MA#3!]&V"Z<V$D(78;H+I33#]%+?5!-,;);J!L(Z&2 V#Z9K6;\WQT1J':SM:
MJUA,HQ[;T=J]DTH.T#O=?6<'-'ZU>K+B!L*JB[-*1M,-_1@%>T4@T[M5C?,;
M9F4A,_8!62,"ZLF^&@AK*0(.%D/1^ZW*QBJZ6F5A:_?T@D;#X6'K:/N!K6'Y
M]617#82U9/E'CJ8;[:KR6J-=V7RO=F6CZ>8^<B.J%$U?U;"DTS0LH88EG:9A
M24E4N?_6#<M>A#'/')V-V-#SK=#VW/<@9)COV"YH5E^9:-&NR#=>0!TGOHN&
M'C092I$M=R3_YGM!(,$78SO\Y6=<^G [67:12WG=3*,+M=6VW1ED4HQU;$UL
MY_7]NMP9P*X4<.P.!=X$DN.N*<@4!)(?$,GX!2!9'EFA!;S IY8KK\RBWBUL
M)+\=83Z/'\B9-B+OWA\5.[7.6RHYM)[VIHLYG#9=JE\*'!!SG,D<6)^+L$+T
M[[!N\0C5RI<LQ?X&+^<"\N+J(QNRR8#YLJ$IOPS\GZ_D%4U,-@-GH6JS#8Q;
MH&CSA+-E^]B>%O9Y3%6DDF7I.@V5G"F5W#Q:[@-KJ**ABNSKW\A;T,7.YU^5
M#"@.!]H%8QLL.'\2\+YT<WZ PZ>DM/O&2:78=/7>2:5 O=4,L]6;:TM9H1VM
M7GCIMGH%RPI7OOO=F[W'0VKF#6\@/ <(#SU>9*&%C?)K:($-[CXL%E^[V]/[
M,ID+K1,G+A5D1(<!L;I8*A:U.&\LO55;6C%9?>9XTDHCIT8E:" \!P@/JQ+$
M\^JQ@WI.]I>$IG:_W3K&E-_" '8-]2@9<(4!),.Q7TP8'0W$HD9@P^;KR*(:
M".O&YI=8?C>+(NRGH8F:6KL@'S]OC=UL:P4K9<\;3V^-=FM^BM!^$/7S":"G
M6U"M:PR_4Y1F#83UUPC$$+#?,JEUA1@#/2>/O&C@L,W94_;I0G&U#5>).P[T
MU(+APZV@W("/U@)=>K>_B_?\W-#UMM]OF3LH!VO 7*\?E(NE+8]KJ1ZU@XMX
M':B-LM! > X0'MI+S+4"GO9>,HX,M:6_J?(A&KV646D W_9:VKLM(?RY3+AV
MJ'R?9>SY^KA#EG+H*A\J'&_[0+4]GW,9AE0%$[DVV,V/]G0"@ 7RB WA)P$;
MR>A_?R/A3W2C9;Y19)\%4S8,[2?FO"I8#X-U "T"*/']^6P*/\.\SI'\4[?7
M,N.B&=GS9<U\@X["?)ICO) B#W'0L0\/AI[\D]9NM]KQPQ(\K.O+']9R4"1?
M#9UHQ&3/=5X!.?^"-=PLJ.&C%<K/S,<)S"%]"*^&];  :&H%H1P^>U0)%+3D
M6P&CE%M!O&%$C_Q^_?\N^_+4#D+/4>0O-]_Q$T7^W<+"+T!FOPU$"/SUTAIB
M31B0\YCJE+[?8/:K_\!\?$J^L?R![3)>H70WL1SG\K-O39A\'<'"GH76EO0#
MGVV=9D78#M5?]X],2NDW5]ZUH+(K6[% IRO;<"-"/G^;2JF #O&9 ,"SQR 6
M<4"W6!X)180ZJ<I,P<G>S\QQ\/^V.W:H\,_R7Z4ANL>!4N@Q7D9FA0"OY01$
M\A-O9(<V[B)@_I,]Q+\QE_D/<,?&$7.($$+?<H.IYX>TK(+)S\-'3KQP94)8
M#&C<&X\#%N)8\?AU(YIM#12S-4I_L:]:<-SVU4E7(>Z)YO!P'S(ZSDY49V$9
M+_)D.'!B3"E-R3,TA10BSB=RQ]:3Y^-" !8Q'.L!<_*(=;ZP$3V+?#J('$K6
M&_O>),/U!7-##H7+$HV?!Z>A7RPNVKV#BPVX4N3?\&9:_$Y>CR:V"^P>?_[$
MFONQ^'[$J),>,JBS<JB3V<N4N4C(Q-!^ZG9:G41M2+0#2PX<U  3ND>2_DEM
M:<E/B9+QZ?;,TQJ7II:;/"O1;S45-!Q<)J=+X 74]%9_[AO0=<0IPZ5/P> J
M0Y#=AH5RQP:\ H;F+G?*G%'KFJ(\YW>2&#V__'@])U.ZA0 $X GTF.#1>^;<
M?FA/B43Y75;P>]#)^/M!F$0^XI_CF0RZ .\YJ3N/UD@>,.;"A1\S'W6M4>3S
M;YGT2,6V]$( X>;;/V\_7FI]A 4V0"P!EW4FR'R0+_DL)W12'@([Q._A9%&E
M YQP:!/\(&CIKY\ 3;QRF78C!1&(-L!@C!T2K9;@6#%T #KI:_Q\GCPGFE1
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
M5Y6T^&%JV?3M_[7<"!LOM3E18$NLV9H)KAL\8J^2X9!. O0,^2=33>",0 T
MQ,#[8/.>\X1XIRQ[+%*@#'T.FIW@#Q !-]:WGBN0Z'WDY*$;0: _6.!%_C!I
MO':J>%F>_,=S#X'UC!WOF6NW0MO$!CU2?/7H)U,OX FB7%=/"#.^[@#)7RS$
M;%_'P?Q/T%CYQ1O O8G&8WMH4PU))NW1<D4#(B8X8#:_460;NJ2Z1Y8C>0/8
MEP!-)-D*-3V0QY&;F")S#&0^N1*MGR&\BN\(_I5<:. +F>Q*?NM]-@4R><3^
M:.=Q=W92!KXE!'1RVL -W0.>(<L3J1/3#,W+)VJ^R$MX#*/5EQ(Q^5.WFXI!
M1<ARD+BS53Z&DM1\CD0->[93ZGR!V3 'D5@DU_T4UY/L5:5F^?+XM)G63#V]
M<4"STTY.]H#)E$5PJR>XE3AN-7D?N.4:0K8SP1,P(<^WXVH$ZMKF@T()"N(@
MV[KE5/G1_:/MCWB+.BPLB*93+&W("#(J*A$%(1*H-6DK5&J5R?/&17]?H6'C
M1<6B2=$4;FP-?$R8Q]9O(6,.':WG<N[_;#EN%"KRP ;.KZ#K"?\WL:8.S\QW
MP QPZ5DG(ET/7BI1'UY8S!O^14N\*%@Q"K\<)M#!&@R%D>4XWBO\*"YI"5Y=
MV!V(P[0E,+XFK=0@P @A7+WW&6_8X]@3*H81*/+&$N\@F*)#U*%R^3QUK"%Y
MJQ"'#\!5X$L;'65<H *APG]1P+AF+<0>M7YE<0D.*!%$I!' )+O1A/FX ;Y\
M7.#8DF['\4?#V)J.ZWNH)"37"A?V['CN0[8WJ9PIMQ6OQV,=RW 3_J;2 /@3
M] >B#RSXS9$ K,K+9$!KP"4P77N1;@#4&2'(O',A@(%:#2PXC M9R$/H1[RJ
M2-2)S"Z2UB<D6T58X_(2 "Y5JJ1DY1A8Y!K86S' %H@6E=.RT0%Y[5K!']_\
M ^?:[TTAN27#&'MCX@$*+X_[<(+:R;R>*]J@:NVT^9*"QGZK*^6U$;TWUYYI
MK3+".YF;>;<&+_U>K'63'3N%6_9B(_4C7"D8$V3+22T[61'<&B=CW/,<4K,
ME+']PE<;Y]NP)[W7.:\1+5"CZ0,)3_SGQ .B<.W_93/W'JT.JG!O21^YS3+/
MNO#YN/1+'H)4B"985C;DM@0:*(NWS.\[L<V\,A W.X!51P^,^ O%)8B[2S$Z
M.6^)PS7(C=P1-[LR%I;X$794=43-.<98,BHI"DNTD8)%ZFN\O:RY=WS%8D6D
MP52;2 -BP%2;2$-MJL&7ED^GD<:%#$1$*T&= :/#&GA/<,^!1W\#/8M\C,+%
MF.7!L=X&+$76];:BJJH<8)<R;$7AD9)&Y9N)&X5W<XX=J<XK#[4Z8(Q0TV0
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
MI27SL])N'NWF'C9SF^ZEV/EVX:*INF+VVML=\)$D0VE79WM,]I!E]17-T,O
M9,D:)'_AO6]1FZXA YXQH+YB+@OK>BE$X7;P(]G/5Q8*#:O8D?8OKN!$>YTM
MI="IW8V=$6JJ)$W,=,ID5:[(<A%2,TVW^A >A)/]YGM!KB2CKDPL*6JA'16[
M91I*(E71^J5(HOKQK6UPJ ,.];ZB]TOA_8?5=@4T-C4D$,%1$0P2<Y UBA-^
MP5P7RFD2F4PE'_C;\F\-[D94@Q4[=P,D%."VL[>K\^ZH2-S+M=D8B2;I369O
M;V+^76FB8UTP;/XN+;TY&.\->!FU-X#'63 430EREZG8FU=Z(38%>DUHK= Z
MA[NS_XQ;Q J:*\BQVW!S%4U7MZ.YS5'Z[AP.="_\8\L#[5Q<F4I/VY(3;WV@
MY<KF=6#-<Y=%H'[-5\J>!B66SUD ;<5(KWMQU07#7SL8,]D&B;4\Q[TPE,+G
MV"-MKM_?TGN]&Q+WJ*W4S,2O/H2'-L#6W>3O.!_"%@,; M&OC4^AB8O@K%Q,
M^(19Q"ZL7N#Q$T?CM3OZACCDX?2-/)5]L/]-1=W6#FPD0"D28%_'VU9!P"MJ
M7ZNY7%@1RO%"[.QZR'R2\@(YFY^O=G&E=S7%Z#=AS6U1J%]<&1U-Z1F]^GA
M:Z:%5!_"@_"J[S[VP< )MMAJE4^5PI0I:K%35Z85;^H[;@DDU:=X0\6#$&WC
MXLKLZ,#%N@T7VQ=.3<"IV54TO5,?MA:O5<0YM-[6(&>UA:V):%:EZ$DS];'/
M9TB-PD]!!RW/47T]%"U&V.AC!FWP=X?A7X PKR?8-IYWOU]*M,7HM0UBN*\J
MO<[!?!B-8[M2!- ! NBJBKYM"N91'.%+9/]^&!AZOZ=%=(9Z$_#A59.B?M4V
M^L<UI6ULF1S1>$<.JQX5/M<>G&M'Z;5KYR]O3,+3,@D_LC'S?6H41X-=0^NE
MOCE\\69N:2_WU@OWQA2^E>B+UI1^MQ2+I7Y6X([H[*B4**+6* =Y^[@2^<>;
MT%$1LLJ$$KYZ[G #5VE'N[@R#:5_N%251ATJ]T#1]]U7^H>SN0\L8-<S#AX_
MNCX^XY@KJJP2S^#X*493!M)43^EI6SIS:\DE2C^]W8-BQ4X/W<8]4^D>ER74
MKMWC+_;5'9N9M)Q,"5X[(;AUZ&99*[KAM=6F&QYBH*TVW?#*Z(97J3YM*]M2
M;=O$+>_\59?>AAU:NRVWV#+%3X6:N>VIH]B:G15MV;:'EFS;=5W;%0T'Z)UV
M[/9H*\A[GO+JY>JK/H35;Z7VQ;9H@'4\A/DN](9_/<*2S ]$%V89'?7A:UUP
M7GT(2X]<-K>[\N>X:3;-DECT_"''.;69BUT7?%8?PN;F-N>XU<U=U8YOT8'S
M5D?)=.:I]4KV%\UO' Y]G-P:U^+,H:-BG>+VT2/I.]\_9B[QW6>XVR99XQU,
M5].4KKIETOB9-^[;^W%@\EA;Z;3+/HX#\NTU%_NC_803:T?)G2X[S)UQ:ET&
M;'AIOUP^VB, X;W,_W\Y!I1?FK@FJ/OZ!^'PJ; 8*"]T'Q^.(/"-:+E[<=7K
M*8:YI0>^8@*KD*J)LS]AC[*3,2*?[?!1'H)YZ4W A)3?XBQS62^[S4QY36/%
M'O^$;=V(7<7<[G4C^L &C.5TEJO?1=L?5C'Y2%&-+2LEZR(UOOO>*,I<M+*=
M,7N_3OZ#_UYL8JMS[F)6U+;YO*=R>W9&(I:=&J64G%92/GV:3!WOE?&!P& K
M\9&J:$,-F,O&=HU+CKG:'6_P5[&=C8A!!V(PE4YGRR8RIW*I]HE2S*%1%:T<
ME%9'&OWI^7]EP@/9VU77"R6V=)/9RG8LUL3L7=4\<TFU=[12]SRS4\.DZ$)W
MK%#Z5>X.WF8*#V9="35/N"WHL6AOX[&H999B]7.9[Y$,MW":=#MHOFG=4VET
MLZ5 S7?#.5SDKC1QNJ4_N-M%*T_1FK8XNZ$174V 1[532F..X\C+)AY:T7CH
M?EGA%V8%+/5S"?]QM[;^XV]3YH/>ZS[0QA+E=\.*GVX?C'60DXVMOD>D]E0P
MUQ75.%6CHJ!#K&XW"[V@\4:RAF6Q,\?A(TKGW,>)[89#'#ZB],S*=:@J.>;"
M,V\LIXX79C9L<,VWLBG'I(YOS=79$S;-BZMMNR954?@T&OI9:.@8NX?'T%.1
MS?L0B1YJZ9IZ0?=@ITX)307WU-W_GAI6414B.$%6T1035?NTRYC5)V3$9 +*
M5H#GK\!&W,LG#X6& C_VY2><[RW_M%(U:V=5,W7#Y#)\.='>=\O_YM]AP?Z(
MAHI_9_[=H^6G<^+4O'X&WP?X?9!7U-IK],A.E8#%D,H"I7+F@_=UH>_J0WB0
MACCKKAT?]'<=A8^>;_\O@Y6(-&1BN]H'N?AEN_WZ>5L*)G(-4B 64NXBFNUN
M<L&. 6#OXJJM*JJZR $[\P'@&LO,B^AS&K9:*/QC[>(*WL-^^1F?N!+_D^T@
MB-BH(@IJ+UWS5'3N_MZW5 &5.R^?B\KD;I7$7'\-R^A5"-B^VLCDVLODI<W!
M<S=K2PG</;* ZVN;7*=C *A?7)DD@8M)X;H0:O4A/-+,D-RMPL9!Q[A(MZ1<
M%:91@U+J3:.KJ L&/0M53:G+P5<?PM*YO-%;3(\'),%O41B$EHM %:9#$]2-
MKF*V>TIG$1UZZ9)U.>GJ0W@ /]Q:\Q_;D!5CD_L5YQNRR3:Q2:/;4]J=^<K_
MADU6B33+8Y/[)<%MV&2'V&2G@Q?OJ&RRN#C9N,XZ01.9KX7R$OK=6(TYG4R/
MWL&1V(N9W.DD>*R)]EW#4[A!RY%Q"C)\*0^M*79'/>;)[U1FF^SH.VSHUKWA
MV\D01#%:Z&/:E-)KNC_L$ZV&J@):VXK:K5Q%^WZCZ#]8:-DN=ORR?!>>KVU5
M4+R13V(?N4&%8WMH%\J;,U2<9Z+U%'7;ME&G=I_VA5<:*V(H:CGS?"LILW#8
M['OYWF=6$/FO/""26%!6"&<4E#WBN3%$RO?*%_<?&KM8)3$=D0P3XDS8'85,
M$D,UL,Z]#Y:QN<#)+2(*=3GMZD-8+DM:5YU<F'0+^G3,XY*NB:3;U<#F,18X
M=?*D6PQ%52VC+V]V]X)3*&QR&FK[XDIK=Y6.WLSBKLHL[MT.%!U48.'T#C>Y
M[U"SM??6!X6W3EB?:%QO BV-X601QQ%6C#*[8"I@(V7]*)T[3OHX=V$WVQYG
M#]MB@_1>(+D/<)P5L RW93R;CT\Y"N56>DIE!H?7[FA;$NXW\RLKQHSV<JZ8
M(MU,MJS:9$O!?/]=-XW/L(&-!S_N-.E2:R9=TJ1+K9ETN04(LZ2[=O+E[G?Q
M)GO=[I)+)GMC6;1Q1-4!^W#X[)&Y@?W$Q!<E<8:WMZX</GI1 .^%W[&7(8/O
MILSG;AH9(+7>'7JX;:4FC/+G"HR^W&(4Z;)!?CO.$5VG>/P/LWR9@0H[DE<-
M&-UL\N>>YG"6,6ZTT-3.N7&DI6U_[AV'QNYA$3LW#K6,39\93K6#X+0$W]\"
M'!0*%6T]L7?5ZB?\LG(=*4*P=A:/V_K*0C E0)GT)X$<@%U7^<%T_9U2+IZ8
M&V6B8RMM6.WBJFVJ2G?;WEDG,'8.[/A#85L';/<-1>]MF6YW"MC6#H9MX^*J
MJ_<4S=PR$G#,&7Z;^H$YEQM: ?8R6<+E3C B 3?J4-1D4DO6)JJT_S/<+7%S
MDS/$\AZEW3Z*O_:TSW"W)-%-SK!#9[AM'_XJAP/GW\TC>2YP]AQ#/T86\.&4
MI"ZJI(;2+6=$P'&PI[4/AC[L!]1O*SUSR\R<2J*O<S#T];'S+1A$1M5[2-<L
MH;6!L.I)P?/OOO&"$$-!4]Y4.D A67H_K[*$$&[FV_@WSQM1S)_Y3_:0!7>P
MHT*,0<=HOZ:"-7E"I3T[B:5=$4JU4FVEVSXE.;^+H-H5H=B'J(TSRRHW-F2)
MDV.[>$H]S:<-A,!YVYD-HJJ&J$/W<5YW'+_Y7A"@4C*VP],XRM*4'D+5=\)4
M,1EB7%QIAJ%TM"UER'E?R?*4K8T/TH2#[*F*NNT\J>8@RU'R-CY(]%EW^TI[
M6S6Y,I-H:V9L-Q#6SV&13%^4/[W@Y#@<_L/358-W30OC,X*PK(A\7&=UJ1LM
M<\&$D5;;=B^N[ICC'+DUVRY*HP!?7*%B4JIS<07WM-MKG&/;XQ K5SN*IIDG
MA,-=5*5M<(CEH@;(B\JYP+8QA&?:<.@MJF[YC;D@Y1RJS+!&$]NU@Q"EWA.K
M*\,1.[IV1]>Y_6QT\MC)3E>Z[5,*>^YD,>X!J89*K>W;[2VSGBJ)U)VLMWT@
M%0,?.R2!5CX7<:8F73-:;>1;W\)'YLM>HJ+;I)@KF-YR&DZ#U;U:=F&0A+K$
MN.$6C2"YKZR8'\' W..F^<X>#W0G[KR/$S507VR.=)]'NHMLV,>1HM=6/YBC
M;P\ME;;/:DP% 1.^FKJJK\F9QTZG8F?=OKCJ:4K;**5'< T5UBW1V+FXZG:4
MCGY"':QW8T/;H;%+:#2WK6]H<D=.(=+?(*I!5'7BAV7DCGR;,3]/XSC+5VVX
M.OO%"PJ*$ZQ"T!6UMZ4O^[QOYP%TK$W/LP^&B6HH9OM@!N?Y'.A>M+T-#]14
ML6^'H6B'\R T:24-A,>/[F^55D*>:ZXP-&DD9P3A08(I"X,E/[Q7RPE?9[34
MNGG&Q"ZX;/KJN8G/KYB,TBZN.J<T26FW*N#=<*E?7/5.:6SB;B7!N^$2D^25
M?O6&NVUC,"_D/K?82I8%8<W9SZW[!)O CJ;\I.-M%3ME$TQ8Q>PT[OE](%-T
M7CFEY)Q=&-!NR.Q<7)4SL/-X^D["<40PL.23+2]5(][()AE!)HXU5O?&:-X=
M%7D[,IDML(?SC+?U2U4.>[MQE2VPAYZ]SMY2CH^24K!30MK)I:&5FX66U99S
M.2Z%J*VM@AFB'VQFV/GXD'?.1=OQ7#4TB3K]^<F@S<D>,SJPAY/5\63;_=J-
MWRJHCR;I:,N$0=V,WAV/F\;\=LTM+W(E#;5=>...V#3!4E-ZVTX]K20V=^%'
M.V*SC2UXS7(\PL<<N'Q:XJQ)PFH055-$5:!X"EUA-'B+SST3&HD<6B]GT=!]
M-]=;G +SV?<F-["L[48@:42.C.<&OQ).^>_N$:.?7D+?@BW8KN6_WH9L$H"(
M0H!\CVJ/-_++MCL75^T>B/LFZ:U2]NW1Z:*+R7.@&FS;F+$AC++\I4<F#/1<
MJQVPKH_",<I1>6N6XM- 6(NP8:(6Y12ANOEF$D8BS-Y?F<N*-H)K4PJVTE%/
MJ=!M=[&^'3([*B"SK_3-)B-J#\C$(7) F=O.9&D<,R=F1C>(:A!5'56UL(:!
M$_3L=.KY,#?U?)=,R+D!B@>-![%PP]J@#@X2 (:I52+U<6?D[1;_V1Q[QL55
MKZ<81B5R'7?'WD[QGLVQ9X)BUFXKO7[E$AP;9:*1D0VB3@!13?%I V%=1<BO
M5F /Y4^6[]*<Y^_,E^\>+?^X?2SFE(Q2HX+Z1BI(C"K %"&*$)BH(FI>%8$?
M!?BC(*^38/%*JWM.4X-+/]&\4G[X(\50;4L]IW35\H^T<]PC[8+=U>HU4U(:
M>5TS"(^K47RTG2ADHT:GV)Y;"11NR*]ZI%5LV6^Q$4%E:Q7;'2I.(6CUSZE)
M5JWTBJT.M8M%:ZUNW2M@:B85&PCKKEG\R7 [H%I8\%;K@<EP60<X F*,L;4)
MW'-^V60O"H/0<G'6C?P?_][3->V#3!; :3@VBZLAZD;,+<;O-4?O5\+NMS$Q
MNN!;BM/EQM0B9H>5G%VET^TH_78S.[1<#:4*YZWS\S9[2J]]3OZ08^0G5^&\
M#3KO=J^M=-3:I1TW*LVY0UACE488'V? ]?:OU C<S?&^PFS/)+;7TS1%UXYB
MR9WT@9>@UNQ\XFTZ\6[?4 RS.?$:*#8[GWB'GW@;[KG1J#:-XE S"(^KVMQ8
MP2.H*$_VB+FC)@JTGHO=D,)W%WK#OQ*T)7YF-G3@?YLZFKL75YW6X>;_54!8
M53HD5,()4]#//*<&>)6.#Y5PPOV+*Z-UW*DJ/X?6P&%7OXSLIRM)^N5G_/\O
MT_C%8X^:8*JPZKT] 5OU*WN6?W@3RU7X!XI\QWQ[_$&>6/Z##6_"GZIX"LG;
M;'C9M(P7W#$F6T,LO;'<5S2>72^$%4(/SYR08*'Y/;9=RQW:E@/OA ^PD7+0
M*@VLN37_[?)2_FPS9_1>_@X*[ =X\.^(N7B2;5V^O!0_I[O#GX _8CCXZI>A
M-WTO=Z9A_+KDT.FSA82@IU<TW5:6)(8,VP]\D#?=*@=&70",BHU2L_N-=_I!
MOG^=PGZO?6M@#S_(7^%><6Q\]1 #;3W[U,_Q8_A53$2 U00YRY U\)GUUR7O
MA?->GA*R"R#P8M=SOU@/979[N._TW&MTY6ZRM^HNN4OHT"*N^.@Y0(<!N;"Z
M'^1/?T=V^%K2W7_[T7. XP:R[<KAHQ<%8/X%[TID-J5SLW)?D*'0W,K$_8$7
M.,[4&J$!3:(+_XW2)OYW7AH/$?73 .Y8_+</\K,]"A\1,O5-<99R,6/"\.<&
M0$9R;_T.%QL\\\;,9JN*/1+#F!.IZT3N CF]3*\Z&%2+530X.0#3)1VH$GC*
MZRM<."'+(4?Y+P/_YROB,=5 X]$!J-LY7@-O0<T6E# Z2^F[98\N;7&RTHTU
MM4/+J09NCPY W0[W!PLMVP6=@!]FG$=7#60>'8"ZG>8]:-%!Y+^*TVRX;HV/
MTJL.4RW782W43Z/]9F9^QZ6AX0"/#[)0;R_1$P(_U/A8CU\MQT)+TPKECVS(
M*#YO:(JLJ[HZYX01*NZ;E4ZOY%>%_%N)VOQF"U]6=X=N"UF#C1MJA5HN]' 4
M,!R$NJ7/:B5VE@1'JH;VWA'0KEU<F89B=K:,39\"VOM'0+M^<668NM+9MKM-
M/?"^>LJ4ODM#H=6(#P *6'+5"6 &HME6VMM.BUF)J'<50/YJW&M'('H36'S'
M5#K;=M4I3/2'GR!XR<=Y+=,&TJ9>=4D#.&,(5U\<_:"=J'KM4CM1-:=<B7YC
MO4Z-^XWMQAG37)^I98_.GBJK#^$:G6X7]IC00B8AHMC]Z5Y<M?N*MFTIR0H%
MKCGG_3/([<^Y5](Y5TYA))Q<#JR \1:PS UH%L39D^5J[F/L0)77HW]%?!IZ
M<.^E826,)]VZ(HY$*5ET*C>90_G!P @* $=WS'^RA^P[\VUO](,-O0>75OFG
MY43%ILOU^A=7(&A[]9I\6'VRJ3Z$Y;';2A!V7RV1L ^@X!;DV_]D 8Z5Q,RE
M'W=_B(2ELB>%5)^XURB-!V';O\Y3=Q#Z]A"+?5#:_@&D&ZRE^,V\C'V-1J^J
M6_97:O32.D)8HN9<;6+7RR'VRBGG(G<L0$3*=A!$H*3'Y=5995V>.I9[U#%1
MNKFKF_^6MO<Q\@$-G#Y(YB\FLF*: $9>MFUZ6LDKO9/\V@W+!6ZEN5=T-P*H
M^A!F2Q<N S:\M%\N'^T1\+;W,O__Y1BHX%+3<5'@6_H'D;1="U4\Q[<+U2H5
MY.M_N.B#ED>)2]H:#OWH5'IE;$"WM2SQ:Q!U:$25$ KP'_R%[F%^-8OI%Q@R
M50SM8.6M<\D>]3S-ANSW0O9;V7?[(/O.<<A^G]U&5B3-:D<UHW89WK9EME2_
M2PFQQK8)L55T8^N[^#ZVQ6/OXLKL*+U3&K*K'R%!NX]-Q4$Q5_M;I@I7TW0O
M+^=ZK6ENJNJ..:B'-\]7(_/PF=2FJEU<&1U#Z73VYG:L2^I4DU1:(PA77ASC
MH*-U356OTG#8<SGDPTX -M52)P!7+B;3Y)'6#,+5>ME.''';_$)3-4''U97N
MMKUYFW#)QMZ279CB]N?<+NF<JZPN-BFE6ZEFNQ3*52'SSE3),=C9=L9;(\!J
M"V%YG+<:A-TMD;#+4G";/-(2E<:#\.HCI-:9:N_BRE",_9%ZHY=6'\(2->=J
M$WN_'&*OLG)>GY128Y<*SW)22DU-O;CJULN96:(D*SFCU-2T?6*[D435A[!P
M0JE1K8324CS-Z[)$SY9*J@]A"3[GW3.W3$S#[JO;]P)K>.I!=.=]G+11TDD?
M<VC39MSS!YM&_O 1-!#T;6QP2K=?/V^N!:5ORZE"=V)B2J&);J:&42'%-.>3
M=)(YF^G@S45-;>N9YMKD S>(:A!5P0QS8Y=RP[@)-[%',@FOAW]'MH\&81#^
MSL)'KZ L:U]<Z7I39+'7VH%=?'K[.]G.,4ZV!#MO'8FL*#?03X/<5O.1G8O#
M-T_7U?Y_]KZT.7$D6_0[OT*7.S51%2'32.Q5/42XMHZ:Z*[R*[MOQWSJ$)#8
MFA82(PF[/+_^G7,RM8$ [1*8B'NG72!2F6?/LXJJAM%E%G+AZ*R^2*6O8''%
M0.Z.,EYH+NC<C\[J:V7Z"D9>)CVY.WE)TU^K,MO**]HY[K-71:G)^%(66R23
MUJ!!52QX48;RJ%>+"FUR$/52$'-".SPL*_.4Y:6OE5"Q<Q709'%^V0N24TZ]
M+Q_'O3)QW+@HY:4>YL1V>,1XS",0,]=)J'WT!,G]?F$]""Z1R<-XKJ7L21V4
MA.8F&XN7<IA,AEF>$O]&5 VH0\PNG8PO\W1>V@Y+$[S-H.M1B71]J89I(D$?
M,1DK$=5U% BH8[!79&5PL4I?T [+LYN;3>N3<FB]R:;YZ13#]'./L"V^&*;7
MQ2%9)V7=EJC(RBZ&Z2E%0ONBB)J_P\3%,/U+,<S+I9+F[[ $AW,!)1(][$W7
MO?1?:K#=7 26>V5@^2RK8+K-*(+I82AHV)>[P]T$HDL9S"7[[0*H"Z"JS:?L
MY^F14%BQ1 ^GC2CR6,G8K>3%YE66Y\\K#K?#FG#;K%J87JT$][<":.VP',G=
MT"9]$F^/E\' ?U]0GGWYF,P]AS$#)KWQ(AE]@!=,QF*RAL3Z'@XX4<9R=_"2
M:M.*0.41.ZV\NK3C[OD^UKT,1O(0M=A+L,]*9\T:9&P?2U[ &!FIE1EB<4[W
MGUQM9C#R_T];+>'37WLO7EKH]U&ZL.J=OF*.])4]2=^ME6;*_ -9NF6VOGPG
MK33[7H<WX:-=A+;_-AU>MB[C!;>,H6?>6JTU\QDS:4S+A15<"W%+0-!<MI"6
MN@E&H*X9\$[X@$+BG1*W=>C<_W-U)7W6F;%X*]UH]^P=K/*?#3,1K8.>='4E
M'B>&X;\(Q67XJZY<:_U6&J(;3GS@40!]%DL5:L"7P1G#]#$'H##[G93VW'PS
MW9C-=-$C&#ZO=])WTMWS&LY[;6LS??Y.^@K,Q*'QU4((#'KA7_WD_0R_\B +
M4/6!LP]8,[@O_74U8\#(L/R:@)T @.V\1- ^OLOP\?#< =X+I,,2:/M#F*MN
M?5Y"#^D'S7F0/AO6DU,24[W^8DIPQ=TXFKEPWASA7G%I_%^UW_L,J$A-U?Z+
M0ZB,O(ED)C"-80A/.'F:\=\HH[U_1W45;,K0U@X0H_?7.^E)7[@/N+/NJ^2[
M;&_=HOGOQL</%W_=WGNK)C;9T2K\;9@]I,^3O#2#ZFI/_\4T6V+F N@L?&_?
M8P4<VN@,]'*2;0J2F>$JQ_<79]S "G!*L-S4;<P7L;]8,$8WO6/S'#_' 3](
M$9L^9J&$]W_DWG!H.PU&;YV8W=?M)>=^+TBM$ZE*TY":U*N[JV9B8)0H>R &
M:2F7.LF52W"?(WE</3$D/B[4HU2)"<3Z\KD]_;9FMD:U"M=P/WW479U=ZA1>
MT [+34$11O!0>;6[C^T$E&Y''>CF=@)*MP,?QG7*V'J%\NJ@7\I_*I$+RK?=
M7Z5W-U7;)*"?LQ'$0;CL(;*& ;SB,:7]G&-*SP'B>3I]98!X'UWB WD\R1BR
M2@SR2K*5M^6;2@(N5-.#7DZ; <3GNL$DTY=\Y/U$9\S:MC"9<2'-GB7+U]^:
MK[]E^I&UE-ARR>;<BZ/->94/ .WMJ>BFRPZ;KM^/4S<1]T>V!H+6>0V49BXD
M;67!)OY;1?^"\KI7A X%?QL,_[@V%]>ALR63;[R;16^<,>)75UE)>6-R"X,L
M-@8>R*,3ZYU0GO(M#K*8#S24E<'I#FN/E50U-5DI34CE*,OLCT^Q[TAY4BD/
M*">G.-&X/#&4 Y2#+ER_9'6\.]OD7(RE3S_FS''(3+)FCF4P9TY!<MU\A-N!
M93_#Y<!A]F/9/4-+*</BAP.-\RUTM"_>R;[S@SGI4J8&"G)7K[CJK 9P5]9Y
M3Z7 5VU/!]V7+KM*@RZ.V!J48OK79T;]HNFFA&5U  ?R/C@.<\N.*Y17H(''
M07?5-_,6#O1M>6.CV\5]OC$TT\6\P#4Z;I+IKSXPTZD4"Y<X_*5(D,+]N7<R
MK96.P#2/654D3+&22,U8[%%*F5"!SJ@ELVVXWWE>5>U'Z2'/$GNHBM-\<Q^8
M?:?]^/0#[6GVGIELJ;LI51%<Z@?R>%@TVD]1/A4*US'"=3 J3,F7#=<R'5!)
MP;H?FG"9GDSZYV4P?7C0S'OF2&@V!1$=LIKH)FCHVDPW*+IS"=^\H!W6V_4N
M/B5#08*]L[4%PS ETQ\Q8[K6KG9Y%.@7<X[EU^PCX__]8E[/YP!&;(SH'2Z=
MN!]V2=R/3VLV1XFZ-"V(]T-60>=?7[DHTC+(%AM9Q<R,;K!>]015MS,B+>JY
M8LK/82S/H-]%;.A4R;BD!W>WH:RH%S]#(>#LMZ>J(@_[A9F<)^QB* "<V']F
M((_4LVH0[$D@;A9I0A2#X?1,Y624\\(;34J,7WG.24)YJN>&'Q<3"OAA?PVN
M+2F5T; ][<O][KFX]<HQGPJ$]Z@]'1:G_,]*PI4 ;4RMF!26.E->$Z:$4N\#
M0!_/X+LIGJ4GW7V0YAL'WL?L<Y)UWEG_@ -^$.?S""%EKX_A!%/)BR:#$XI8
M%P#EO< =82,5N=L[K;AUI8*M0%(>X<V\: .Y$1;=I]7:L)X9BPYR0(-NQIW6
MYR3<O,-^9P9V@LBLX$8JF!,R"+A3D6V5FF^%0;F'&9I]]6*VE0IES-B0^[VB
MG8[UF6LWMK78A*VU4_/=8R[6+L+%L5*:"9@\,BHEB_V4A%5ZB"9@'+C##PHW
M"DY).)4"5:R\Z)V5J74HSGAC,QK8XGG-9,G"U(%P;)Q_$(J0GY%!1GD2?H\&
M,=OM*TN6*3$:PQ6H)W<+=[6>DF0K"[:8A3(X&>%6I>&5!*['Y=R8[N^J4E@R
M6N6)/JGFKP0AS" I,91>\9.()&R?_=)*_WA\"@%ZA_ 4#EP@Q6_+T,=9 ^9C
MJCM1LE9UG5JCWL*P7VVP-QOV]R-=K1CI6<#>6,PGG40XP)>FG4183-/DFIR-
M/(Z2I+O'J5W60XU?\'PWXGCOGW]WV *L!>^(0?^Q9(R(SJ^>/#FKPK2<K8P*
MA6^_/1V-@*3/";XY&Q<5"E_,@QFI<J]72H%]@1;NB:5,7W98+_4<5X9)>U-B
M:IESZ4WY8G=81X1$]2(D5#DI2VNLG20W(_,**"7T4J*</EU'(]R%J-7<G24F
MS45*1:_-1;IJT?&0YW1.+H[&XF&+_OZ1/.I=HKS%PW8,L!W+H]&9Y2(+(2:&
M*%/_1^?!LMTKE]DK:B0C6DV>CP#[$APJ&>JQ)=-$E8>%%[F?A<Q*"\Y)%WLP
M#.1^<8V9SDE,I0:GTIX.QXH\*3PENU:;:L[8PI&6MK62 )0;&Q.%ZY)-Y8DF
M<<[/<$SLP_&;."EHIP^683!ZG8,^Z)0TH>((UHFLCDJI?3]!CU=ID.ZUI_WN
M4.XIY]3[,)= *PO2?9!S756>%&>!U>G33QGQ5?W1!NN(;(SOFG7BH9^JQ.U6
MVZ/4=X+)('.#KA<>W*M,SN=&,;HKNADMJPN2JU$QN9&,?I-N94.4Z_5;]@:=
MR3JFMY""0TMWHLJO-]C>&G#S1MC;9QU@]J,(*0-TDS%:@?)X4(II<H+F=M'P
MG5!VJMH]+2.[1+=!-@ ?350;=#&5LCN2![W3:.AX8F&JRPX;&>I+&F7^S&?(
M7Z+,+W2'C8C5?-11Y)L+;!FC+TX^+/-MZ1_H@[5:62;-54EB%@RZF%6M=(L<
MVG,&@9D\ ,41D:H\4@J;CW &D9D\\.RUIX.)K'2;5(.7+S3SG:U%K!C=CG,"
M""P!$#EY2?39LH/3?5NF1G8?I9$\5@K+@CT#8907IC3O[G3:WB0M6AAF*5IH
MEFV2*H!Q>&*S(!8:0RHZ,=#[L3'4 UCC:'"[V@_)YNT9<+BI@V.A#@Q?.VW7
M:?FR3G2ZN+/NM!]_!& &=LT^<&O0Q1F*LI+5"_9BJ]PJD,/EX'N$365ZEZK&
M8O%=A-%:#K[1S2V/LY919<9W$TNP@R(\+T(B+7WOT&Z Y)P)MH1 C.]HR^S'
MQHB!VI='%V74'&54%K*5+L@ES,&Z**+&**+2<(WIKEC+6UGBS25^==EA4X((
M":T9X&ROKP7F;?"_<&#4' T6K%"C/[!,[1%8[Y2K.U#(X/]_"L[RG3FNK<_!
M_,4OKLU%](/0DS?,UJW%=BN03S_FQ@:M9?B#9FU]!U/ZTW+)YNGZ$@T4=*=/
MY,GD9,(3Y>G^^O"T'SV8N]V7%?6TLDK*T]E-Q%&_/1U/&M?8JWB'J;A,QLEF
M27.E&;O731/OEM92>F::?1X&Z$%:[M=%RLDH<P"&Z$!6LH[JO"0'[T6\.FDV
MYH<TY:F;=<K3!?/[,:\T&_.4*"XK_8P*Z01RQ7-I*88M=AN@G_Y6-IWVFDVF
M8^JQH62M_CQ) 54ZSAMNCDQ>H#E2.LX;;HFHW3HM$4\?_>1B2U1*?IFV6B*A
M91W.K7XK*5U8]4Y?,4?ZRIZD[]9*,V7^@2S=PM5Q^4Y::39<<MY*^&@W>-6Z
M\)5_UJ>WC(]>7*TU\QFO5:;EP@JNA?BGTU.FB0CI:0:\$SZ@T&H'8#TM95LS
M_\RSF!?\S]65]%EGQN*M=*/=LW>PRG\VS$1\#OK2U95XG)B*_R*4C<1?=>5:
MZ[?2$,N_Q <>ZNFS6')0 ]X-SA@FC#D A=GOI+3GYIOIQFRFBZ5HX?-Z)WTG
MW3VOX;S7MC;3Y^^DK\!O'!I?+83 H!_^U4_>S_"K$#7YP-D'K)G-M+^N9@QX
M'99?$[ 3 +"=EPC:QW<9/AZ>.\![@718#FW_#,+'C! 0R$W+IO2#MV"J,MO0
M3;!1OWJ<^"',B9]]3KSU.?'GGW#):3R[-%P O?YH&89F.^B5=Q^LC0,V-3S/
M?LP9/+-F-D]Q>U..L-E3WP+[\@X=]U:N8KYN5K#B?,>%C__6S0U;7(-Z_/,6
M5M:7<#DQ73$4$Z3L#:!SKC/G#G[WWK#F?UW-NW_B[_Z$>Q\#A;=&TK W;%N5
M)ELMI!N["A8'_$R:"22488C$PW^T<:?P;]2$WK\SPO*P ).>](7[\(^VTNV^
MPIWLO;3!*G Q"ZMJ_"$LTOYI&O,ISSP!?E(ZG/#W.XP#O,ZFMYL5;))ZZ(2
M*070E#QP!JNB@O>T.Q!!642WK?;@52DHS;ZW__QFWVNF_E\2)72,Y\04AG-W
M#OP\0E(8>RX-"@FE8WBOOOQ#=1$!66GHBL^#"B0EQYU D.8;U*FQI7+ )T=N
M:8BY=3?V2I:^;^Y!)O]=6X'9_(&;C;+TQ9QWI-?N Y,PFUOMOA/?T+^4=V]:
MNB.M;1WTUEHSC&>)F?>@LQ=<YC.X66 ,489MF!O,"]_83";?BM?59:F#)6*O
M2!LNK!66]LZ#2;D=Z7J]MJT?</=P&:Q^^/8:"0Q]^?HYW57&,M',X^3X77?^
MNF$V?@"G4?R;RI4:NJJLX3#1NPK@*"80^HJZ>L'O'>F)V8QWM?'.W6E]^K&V
M;%<\8+.US1PT-Q>2EN+HH[J/CB,NXT_N8YA.V)'N@"Q"1*2,WCF"3(@P DJA
M4!#O)PYFD@2F@@0<0:82IZ[6[[ ?^!>92WSZE6:L+,>%_QC8XX'F^A&@0 \
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
MLLW=[?T=OTAFP4\UUXCML]SM>M9;]V*+0:=P;N"@O>+X/<F\EBV2WX0C+FW
MX3ZLK;1JL82?)!ID5(!LX\SOA/9!G9(#KK6H!DXS3>PG">:1'ND\N;0V-@B5
M_VPTV^4A (K/498LV=1>H9Q8P*6T5[2Q&>YTQ\YN';*S1;3!-_.$#;C/VKXV
MP^=@/W1\M2=-^4]W(:4%S31;V/08I16W,'T ^<%)K_O,8L<8AA6QDXWH][3E
M$N(69VAK"'%_=5P*%)#KF_FB9;+8L6CF08\&[Q<7@J /*&Z](_WB+QJ\##&
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
M?FV@\^:S8BF\G(@_/5&A"9&D&3NB &L)=^1$RR.VX]9@'KU;C#4(!NE!I4M
M2*8FE:B"]L0B534FY<G6#HK/@)B3-X!'X&,I*_8\6NC^8-U//Y@8MA+JRW#:
M, E3"HX38@8?LPFL*NJ423<[7B=7!,,#_ \U& UU9B+CSYK/-[:H]R7RLHQ@
ME@VO0/8ZM /IF<Z2B<$-V#U 2&(J.ML82R#[[>Y/]([HU(D6]7H):V]O7L_>
MTMSF%N(>G+)@ ;RPG9-S9VL+=FTNOJ%PQ/XA^B/Z]YR@[#RV)+$_4<^\IK:W
M4U-+H))",)+A".Y)5\[N$VUI2KQOYP]LL3'8MZ7HU, )BT@,".LS+WDW[P/
MI:[ZSO&*J%KLM046[0"+?&:OX[,[KU&%U<JJ4LW<#*,82#>L9K7P*E6^(#7-
MF]=3GGHH;MR\LM0F%:+R\$A\)6KMM:>-*DQL2"EB"&$[!:;-K3Z,J2R,.VAD
M6@$2WA')?2!M)P:#"2K;*UJYDJ+-43^VNFI''3>]S"U/JHRGM@,%_8MM.<ZV
ME^A0:L6@WYX.%;FO[C8D?BF%AGER6XK P  P,)*5<>_TBPW;TVLT=LFAC1?S
MA;69N7!?]F[KSD'14W;13BY6\\[UV;(_BE/M(C\5WC'"VMWUSS:TR.LP:'/Q
M4/&@'94!VF;EI^ZPFIB6O*/P3C-3OGA.QH*'"*EY ,M):V/,352&&2OQTH/X
MS4M <!9Y4A:",7HL]WI5([@$=9WMGGIZ::_5V=M?F9N&EH;=]G0PD<?528N7
M@-)B#?BT*%7 ?!_(_7KJ#;:SJ.MJMESV "!TI!LX(=G!5+^%_J@O-IJ!<;K(
M;;\UTPR-YJI'9\L?CJ]'Z.?+U\]I\S70:<7CM-]UYZ\;9N,'VCT+8NM7:HB"
MUAN;14E(;4_5W:S25_*1?0_JWG</'75Q^\8X[.&]#^O>.Y:4[$X >D51&YQ"
MN4-;3LSHP7/@+K5D[AK5C>D!4.GNO*JCW#6N>]]#V/>N3R@1=TWJWCMV<-OU
M**;DKL/U.05T>9[Y;#:+J;$X4/,S[%YJ?A "P^ZEYJ< .BPP$^>+^0CD8=G/
M1Q)N!J/)F2?<]",)-W&,%.2GS*8>W'1VVKWKB\W \:E)W(C2M:W?3;<YO%Y4
MA8S;8:2<8E9-8NA=4F@N*31-3:$YT,O]DD'3P R: QW:FYM DRUD%LFG,?&"
M8^R]Z0I)C 4]G[]\_G8J/7&:O\,2PA2',GRV._"H2F>,AOQGW=2=!QR6A=GU
M34\YR1.$\&G9._(O>.)DOFJP^7M=>3+.Z*M^X<D^.2 _ZJ(S1QZ,FISD4T83
MK7AN_4W#V9B  _)E^=6LNHE_SYES)DD,Y<N /RS[KR_F#0?:M;GXKCWYL$U&
MF%@EJDQDM9N1,D\R)%D-A@N1-?DQC T[NP-YI-;2/JN2K$-*N@3Q$?+AE&H]
ME<_8=*)D^,5N=X.NK$PR=M:MR0(MGW52P!"C@2I(P4EA#=6;,V7!4[J_@@!Y
MR[?%__=7N AAU(79C^QD$W-];.-IOO/#),,YYET#7(>%L<WIIN!F!^*0$IKZ
M66\456:_%66\[O 1^X&ZF4Q9:P8_9<Z<\;'9$=8Z;4NG @[^/SX(VS(%!2:4
MW2/@8UF)242Y).!6FX!;%$+'./]FK%0V**"A^?U?J:W=CDE[GCF<A0@0@%@R
M"INTIZ,)D%AE,J,!=]Y&I^&F1N&X2];;9%*+V^)HVFW9J4O%MW"YL:TUB+OG
M&T,SW6MS\>D_&]ZVYD@BR1#OGV>=2#+8Z=SBP4J6"%J\^Y('KQ>?/K*7DE(G
MCAQ?*2H3E'8(-6L?-<S[V>DDD:2"X25]Y)(^<DD?N:2/O-CTD4O_E<;T7_F5
M>NO"_^NKM6T],M19C4_'&.89^KM752<//XRQ $P>QU2IO)2TC&&>8>]%8*!7
M#08JB8:^W^@&&H'.7D:L(Z0W5&M&<;\]'?7EX:"POB#UATF'>=QF1<!T #!5
MY=$X8_>H)H5-,2MI_J";#+-$P[?&.A$\J%LS#=O3G@H8[IT3U^3Q5!8!U!$
M5>G+W5XI&1L-")W"C5DTS)=<"PS:\XB8'>;4NBV8<7LZ5&5E\I*&)%:#VF&6
M^=I%HG;2G@Y&<G]<2[BJ:BU\T(-[JGE]!5#!I-N>]H'#>Y/=MA4GJXIKUL03
M!6#:'\E*UHO?"6CB7RDWR>N+QL?A+=C:!J!2P.$\!'B)G3_G\\UJ0_-!/H;
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
MM\$HV!U$0DQGI4,S#@=8$#8^,,A:IKGR:TU?Q$"L>=,+T\M;["Z!PT6^+3\
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
MF-#I'2U :OPEECK5<]N(R% /;N1]DCA'8)8K=;U\F/7:TXD\&L9<2X["3$H
ML]8VS(9GPR[J47;)-9NO?-3WP5*0)X,8_9J;71#K/-#'W= )9$NNM-?R@87>
M2'DXWIU@60R?>+*E)> U(-&B'0/:.+MCMWR0D7^H/TH(,AX^]@&FQ8/L@#0>
M\2!C-3DI^3-01I<,%,I &5TR4&K-0"DPJ%W:2;C"58[JD%P]H\H7B"-4N(I2
MB<)5$]BF2JXAX>7#:]R>#N6A,BA3Y[8"D/7/P#0]YM",7&YUIZ6M+-LE_Z2M
M8>+#LV0]"K^BN!#CK5FW%ATIU=+'_7Z*HN3P,J4BOLS^ITE[VNWLYM;O^I^.
M'55M^E''73QJC*D6/:HJMQ*X#Y4\26W5'%=)=-SS35'$Z$$2[[RB]'/@\I.0
MOK#=1WW.XCW"7]'%AMJ+ JX.%8F%OT<#Y*OE_HO!EKQH"CD]O_%$@F0(5^$R
MTHGQ<G@(MY:MC1D*U^S&._:&A;A&T1T2BG/QR(R%@S\D5#4A2GF<QP:E],PT
MVVFH?SJY*_I[$/[BV2:_8_BK6)=T-;P23LX0X? ]L;W7WV]_][S,;] X<YBI
MP_743YCI2+<8__)3JT//2SPYUL6,'" NH3%1KF*\5[),T,+HU!:1-Z&'.](W
M"OF%%Z+G->^)ELCH65@;#.W#MN_OF=T1B3T4U_-T>NRV@(*#%!_A9]?F#SI[
M9)X''="_1@H(^\\QS@B6@^X\4%Y,*TM>C"RBB3SMQMW8)F[ 9/!2X!F-]JPY
M#L-T'XZ&D"^?!WY"40%D9@3@&4COCQL;SY[$@Z;D;Y+"[7/^3C[PW,\5$DS
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
M\G_NG8#OZ\JUUO T.O+%!Y[M/]SKW%>#JUH D/"Y$.3,?B>E!1+?3#=F,Q0
M#9_7.^D[Z>YY#>>]MK69/G\G?05ZX-#X:B$$AI/PKW[R?H9?A8$>P#8>6#.0
M1G]=S:C7]UMI3<!. ,!V7HII']]E^'AX[@#O'IF41+2TI\B+MDB7V.I/<<7]
MSE"LZ>;]1]V9&Y8#?'<'J[XWK/E?5_/NG_C#/]7< -N[V[L83:31Q5K20)7
M-C34*]B*W&;&<TLW227]#H("/KYUX5N'1-H"=!:L.1>:*:R4-!<NQ1JHMB,R
M;EBSC!MWC\;ZZ[Y'CI6C6ZS[>C@&:HUMRW_L@U=HX+@6I@QQ&M(]OP*_RB"5
MH?G42:(0RF+NF2]Y9O&<#B?ZN@'S#3AAVZG- 'YKU GVAFT#_O]M-!N4@_'\
M63<U<ZYKQA>3XPV=7IY$" %:'>(%YF=R*8%F,0P1A/Y'&]Z$_T87EO?OC+ X
MK'BD)WWA/ORCK72[KW G>X,@L$I[V@K[V/"'L$C[IVG,IYV!;A*DE7&'@WE_
MGD,8,3X(I>_,V1@@P8">@HD4TNO?36VS0+GU)E@6?7.>8^ZT+Q='B$_P"EM<
MNZA]Y@]LL3'8M^5APD.X[.HCY3 M9UH\*D-Z7#/Q:PQ0L:2#EI$ 31N#ZU 4
M%?# QD-IZS\^]NT ^U: ?7@M_<)]LJ1GN$,YH-,6H)P^LCE;S9@M]102-+VW
MGF 2D)P6A+88X0&K;ML&1:));0M3(R>R4TH981S/ 7<:7#[![A5_O9,$BZ/$
M2&X&M[=BK/QWX^/@CP_&[L9<$R^8(3:P+]C#WSFSC$62%V<)#0'48:<FR.=^
M.]M;C^99>1>:8]N[>[ 9DWZ#ES\XTB=DN\K $1.CO]!/.OI1RR(?"B,>WUS_
M)^4G=&Y613$O$LBC"Y#+!_+DIU[W N6RH:RH/_6J)>9RLXN%T=0?"YOIZHDA
M(!!&8+D9N]D'XA/=Q ER=*%"C]E7YDJW>*_>R7@01MFK@RDF_E.)LDE\0^]5
MELR1/*DCW]DC _LY65[(&*[02G\B]P<9<W\.0F5/)4WCP)VG;6XZ<.-0I;XJ
MC[L9BQC/ MQYDN'3@1MSH-6N/)Z\7.J>Y$E*3P=MFMO4E8=99S4DAG8%XT?C
M5<@OMN4XTMJVEKI;<A5BB1J"3G%#ATB&V'%["LJY/\Z8/%A3'6>)0C\U!"<$
M0:7?B,*YHB"8JVEZ2@A.>/7_2#TC".82S:D!B+TW5;"P,PKG)I76[[?O=9JW
M?;JB&<X0C!9/AE=,1NW+O<%9C9K,(YPSP!#S8(>R,FY$T7@3Q',&&,)-<B3W
M>XUH_=@ ^9P!@G@Y[,IJOW$%X(=LYBTA_/[_M_?FWXDCV8+P[_P5^OR]GLGL
MAS$2>U:WS\$85Y+EM-W&6=7UYLRI(Z/ J%)(M!;;U%\_]T:$-A @%H&DU)PW
MU4X0BHB[;W&O;*DC@<BFCG>[L7)3L":RF2:1O%V9?9\?Y8&80SP(/:"'SVH8
MG_ 0/:T51BRXH=5*.T><L2"@CP_1%D*TDRN(MD\+T39"-)GFJ6F0WL<': <!
MVDC$74G6VHYUUV]![%^KFD/+)%<*_KQ>\CR@:N% W(K..M7J/LJEN+J;N'K;
M#:OB/@JNP&KB*G8WK$K[*-D"JTFK^=V06MM'T2=^L?X 99NAXMWHNQQ[EFD6
M!99)%<@=O;8RC665145E>@AFL3CJJ'64TH4D'85$?B"HM@JH)E'#5\5ZU *L
MR91&'@>N*:N*S%0%Y+&JECI5K(!L-LN-73MEYJ!&3&SMTW%P.W#3"LAJN?DC
M%YRV]ND[O1VXL0*RUBG7.CN6!^0"W/M,MMX.W"U63BU%M#K+7 EDFLH=CU@I
MU:FVSRX;[;)8S5&IV7X2?FL(=L#9JI4;C1VY()T0W$=H;PM!L4H+1MO-1&I!
M3@7!?>3PUA#$>L=.4C1X[%%"::EM/&I%5$?$@>-5 %2.RA+VD\0[P!!GME3+
MK63J?K,HBW> (?J([7*M74CCW6'8H##LI$\>+YC#*2UA/&DU4T=$/[+2RJ\<
M/CY$T56LB+GR,<330A0[CE9VO5F;3HA*IX5HAT(T@S>&-H7I?]QZQ5.7RTA5
MJDEV#$<6-5")Z[+=L"I2;7:2(53YQ>H!]>EN6)6H_"_& AT4JP?4Z;MAM4:Q
MFLY)0$N])P_:U#;4-OM C6L?B88=HA]DTYX_F;)N,6A:$?VL@]UK:7 KW]UK
M.Z'NM?@1AY5 @24$H27DL2/MC6E,!1M^!C"D_QL:?$&I#'G/ E38DQ)^=4>Y
M0-:$1W4,A-&U+&.DLD+;#]B>7*K^=/?8I7^)/WVD/5TM ]YOC 75IJFZJ<'?
M@-VB984BT\(&L@CH5]56B541 DW/A9FLLBD;\&+AOS;(KM!TC//&EIG42$;I
M3L&TMZW[<> S3Z UUT24I#HMO%X28Z6IJFGP1WGC:>II.DT#3[-L0 G\-!2?
MFP[42-.!FM'H\0ZTHKMY&?L7SPA2*]'F%>%>)VZSX\4^_=>J"<\9IB7 @0W!
M(N8K-N/'3LGN5R6#]>N_,F13<=\#E)Z#83I!)J;=H:>LC[-[2%>4#">&@0,6
M2GR S VZT@LR93B\<84*DU%\S@X@28'US+D DDK!R3J>0*H(_\!RON#9SL<R
M('?^:5.U/>R\M"Q^8 \;";R9)@*GEY"7C6,AMOQII>DT[?6GB25_VFDZ$+V
MNQP-W%;^_.,"R?QRM1@J18NA2,$#-.Y/;TC,S-T\36@+VS?<D/V6O,C:5]FV
MP;7HZDJ/?OE"]!'8%<LW>S;TR8_ULI#1C%2::Z-9JBX9S1Y8;.%6E9]5C1IQ
MN328=]8H7:L$++8TRB!L;[]1RT A8P+Z3\>""@&\:2)\Z'P4-/G-<M"$1C&
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
M^NV-:@+Y]E1SA,$SQJS>.X!F[U'>@\1RJ 6++YD0C8;)OCA O%*=):CH-K\
MI2+>.&[JY1@K@!2W' Z1&6@'>+$)_&]:+@^'!8E7,L-12ET7KF]- JSB\3[]
M&"EQ##]#[%+]1?![JW+$9$VX*G2W=(U8I&MHND8LTC693-?4=DK72,FE:T!8
M>3EV*22GW>#/E3,>RQHH/EBG]+MA?O<$K9MH&,DS! Q\!D;7T_)/M[6WN%;&
M<]'U6/!HZ,Q KO$@4@GE61^$.+/%YF7O:=_=Y$:4##:*6T7GAL?7A![+0CCV
M*%LA RQD5KDE;^PW,\=DY7B>MAS)CL5<;%Y<A;M^50V-)P/@BR'AU=+M3KLL
MU.HL+%9K5+T"(Q<*/[-X+  5- ) 4+B5WV@,$L,YZ "-C"FH<,3*HG%6<7^L
MP59GGL(,V5N;XJ4<*8NH59DMP0RJDNM=>> %0)4%"QO4E7UWDX%K73R"+,4/
M_'_3LFM0N$ ,8 *%-#O+D)1"9K<0-KN!]N!)/61^>Z23J6A_B'/%*,Y]-$83
M>MQ=>-?[\1;<*R#[QN7>KX9N&@7_QN/?IX4T8M!MFJJF2:D;DS,L<,^Y$]%!
MH1,HUYE@2AGHAL)@)ILR&-ZS225@=I<V,9AP:@8[83PBX&-QZ!AH$%##$4D&
M01!&  V^PD<>0U$=QY)H"#3 !@ *,^Q(?Y3>=*Q2#:Q$BU"]Y8 VYYYAC_><
MF:DOTT)="\F4ARF -@U8FSL<I66'@]+*4E6YL%15SKC<97*0!U^0,QEU,3=P
M-$'JU)DV(10BKN<O:URB,#V!5K0V+Q$=6(I$)8 P$"$CRJPIO/,<!)1U=GE7
M^9TJL0JR3P59QPU^(M);/_G_K?X$G'@N4_=(_(DP=\S1B= .%A R)Y2[JZ4E
MEY-[S);G.C)0OZ'G'\"VL@*!-! !6 )/.)TJ)7YN_,X+^60R(XYL9UFJJ\9
M84S+PJ/S@CHQ:'%:ODHL+2229<'2U!G%*:WCE$>\. .X3/9N? D6&8&Y0RE]
M#(:,B=P5L*S%CG]'BP5=0GE2RJ[.#$X&!.7KR*&C:>JKK(>TY&=0P]9$Q:*/
MP!(B+WL/A \?L!3VLPI[[B$_FLZ(1^($BP7!0*1@V( ?@0:!Z$T;EQWHEKU[
M'1/XTL:@MLF5 M6K%O&RXKZ2P%RYJEN.2?-^(]D$2]WT"G$!(185-#*&M/_C
MP%$.QB@IR*"[A<F(!(;<-\,U+N"#D08 X 9%R2]27B0ZD"^R6RP%YOF-20C=
MM3 T-"I7/=L+4?$*> %Z>9L8+#)E, !'7;$",3^C'% !@P-$VC.R1XE[ /1J
M(Y?5;/$*ZH@O8"%:BQS$[<&>42DOA,FCPM\!,P&H44>S:81G]6-Z]7+)(V L
M/C!F1,._5RW+3;?(0/V&'2">OX!U2.;!#4@MQD*54F!Y^F*J@!D^5R)""->B
M@Z8"^? "3T]9M1TSO5BQ25E87 &WSB-Y6+6%UT>!%$J@6_X$<]4MZ0[I'GS&
M0T[0<78M@B"<48&%0Y-55Q^.:9FAZQ5ZL6-=Z$Y9"LN3624 P0)9T6VMA<FB
M)Q?(/G#_,]+,#N8:O)I!087?JJ"Q>>T@!26K=5](/H1OQ'JV4S#^O70\QDH\
M6([2[ID0W0L5CQWJ/KL6 <=D"7, \INL,H$FF([&TG '"*LF$D&5B@@JC:!*
M103U %9DHL'2^D[!TMKI:]N_L9LW3_3FS8-W\R8W.7F66K>II3!T_I)!S5!O
MD5ZK6E#7)=]*8/9*M*8.ZJJP(8Q/#&UY"BRFL!8(8"JANHBH\[2X"VL)W)[Y
MA?JSAH&5[B4+W\MSQ?#2*ZR$1D>@AS4BLF*@+?!5-D'3N#E5JC%I>!15;B#9
MZ&??,)1"D]V+@"C30TX=DQG,X"U(XOF<R.:YH2G1532XI"1%]4=[8QTMNY.I
MK A=#?Y/?5/AO^<#RY*C]:I?]KUD @:J<$JA0B 7H,S0ZCZ>-QI-888U+AJ/
M>Y$E;$43N] =L80\]9G!XW">@61HR$H84V<#4?", 6*ZBV=$)[[ZS33T%]"U
M %G9GD116.7 5T(BJ?PG(8R4$W#6':W^ -+75=J^U(N^),=>&#LB$UD;LV!K
MR"ZL"+?J=QK<6LW\-"1$BZ!8-1[C578')3ZC"KLPJL>:7MF RYH\;A/DQ$-R
M'Z5R?_4E[BNMX3[A^-Q7\KD/[6[7G%]FNR6 >K+.JN24 9?7#!'*2L+ * GP
M19 +7"_69=] T#<ZBNA7 8;BP,S?P$8)8V*:?@D:"V#R>#P5_>0]<'VE= TF
M$;&#;(%/ZFYUM4;D5UK6@U(BTM<KATNSGF$?ALZI1?7=,SM OL$$!>]5A -#
M4;S#\V^LHFR.\5(LM<>#.S/#N_6VD%C!<_WL8.1+MTU@ )>BO7#UC9N9A&]
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
M=-OI'R@RX45X0K15<)"-+GR5S=%$$!L,=CD8_/D4@?S G"*<I4I>:0T%QM[
M=+,8W$#FCS""C9+5\GD'@!<MIA4"NF>JZOB6"97!0;.04)83F$;SEG -0_J#
M&:TCX-%QPP%U-I%?24G&V!]\A=H)3C&R$4M1% WDX&@V1:<![Y+9"K"BK]Y
M;])QBB=4"DMZ8)VSV2R<3>IL-@MG\\@.$/V/3*6K_$=5Q!CRA>SN/I.)D5+4
MS9!JI>6:$X.G_E>AX_4[X+8!^Q5^+_0^=^]^[@^%P9W0O;L6K@?#[L^/_?[7
M_MW34/AM\/19Z/9Z]]_NGKKXP?V=^\_!W<_T!S>#N^Y=;]"]Q9_V;N^'WQ[[
M81O$3V(P7)P(]PDM=V?HI'*TU6(2=C-$V,EY HRZNIR\>O=W3X_WMT-*%P^/
M][W^-1##4(CV%$Z+?M6&'XYV+KA:+EA]8Z70RU-YZ-]8GF:BI1A^@)Y 02N-
MZO5/\#YB:F!MG%WV7]T*4&;.NK$6 4-BIJ$Q#_3!-$8$S TL].)3>KRYBX<&
M]\HS'YGC@I$'L-DQCX*VO>X:? "R,KAI]@3MJ1)-5>$P:6KC8[ ?C*G>1"5C
MH?].1@X-%=R/Q^H(3#\$*?O.#^3P[\KN/$@R'H-G ;_2L9B!?Z@0O&'"AFFZ
M5IK[W8)%5U)\7(Z"N)QYN"QC\9-"QM3L5'7AT=&(Q: LUF1P"CZ0C_0G8D/A
M_Z*40Y<;PJ%,E:;G^FYNKCNB>0ZQ4ZO3=X,E@O,GRR4Y<E!\K2)<R5BTX<RH
M50JF:Q"V]%#;0Y :OGAD.J24F\1T Z6E#41[=YLA)V!L-F :FV1FF!A!9B:[
MA[O32^S].Z* _(TK3+YZGI$'RT<*&?0Z!F@1XRQV+ED8##WTE1Y=&'JR)0EQ
M?DHQ$N5!JM3U OJW5+!=:-32JR]T*R*GF"6'_T__K8#]CH$[U07G* C.*)+<
MQ.3C$)./.9.78C Y\"\9R0[+NJNT; O]5AUK3Z:@^J@36=YBJU-Y3@.\,Y.Z
MO.!_EM SAA6QO,OM$&15A*YF&65DR#\)=X8QQ@J2VA<@^$E8B(+W/79L9&OF
M+;-*4'#/\27X+1[95*WO3&9XO ^[*CT3&H.%/;L(>/:/SB!#ZQ104ZC\W+3.
MC#GS@($7G,J+#V/%@DJ3/*[V -<:K 2$,OPD(&40'#0RH"*SY4":9$35,E)>
M2[2E$']%*S<V--LG2)SZ#I2'$3XXWC-5?3P<,P(NPS!-J+@8R E%AE3]:5%V
M,OQP>[B$W[Z8- 1U8X+.?3/,[_2'XD\L10*+S5U-!WQI,T(<HM0Q: CIWGR1
M=?4OV6,E?/@)/'[E#4B0_LJR\ @?^(9Z]\-[OL1'-B5<K.66/+^& WX+ID7
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
M:U?$+HNX9<&;<8$],C".H?_S3-HAB)$ X/]^0VO&)\0D2(S_>#8O+DM___M
M5VB;7DN ;0!/T,C]"#:*9(Z3^KS9OX8YI[-_\4/9-#&YO$*KA.*,AQR5M&[.
MV<X+; H"^BL=\"S++UT76ZT5L54:6ZW]P+'51(@O>L)+Z_!#SD*7#BEY*63$
M&X)_HB,C4"F>70X'/]]UG[X]XH@S?L,P%Y/.CKQ<L)(';0X^N(R-Z\"[@EX)
M$$CSDMCXH'B%0W[OX' -$7PM=FKU,G\?Z[8.*TQD2U <;2Y0&TAA,R!,=F6)
M326S8&^$CHI  ^F93&1M[/9AIZAG#Y1+-BHG!^=QTA?ZXSU//Y8L5<F*6%8>
M?W4#W[SVJ!&66/"WNPQHWKU1*K#^U[+P^.WG_J-[U>[^ZT/W[O>R,+CKA3I1
M[]I/<%M@'/2 'QX]SOEXZL-$/?^C[6,;ZO:'D^U,WA=/G^^_=H>TV?7@KM^_
M2PT-[-ZV=57[[LR>Z,$=-;I<>)NGPW79'%707>[I\"%=!??N5QRNCL%$%9WQ
M<O9/[555E]>55:?FG(5 /I) OB'/)FU!QF_,UU-# KN/!Y%M$GF*)*(RV?!V
MPFY-:95;X_LMZ-,\8^\'[KH\$\UX<UV6,5CEQAN*S1FX+MC3S=!=KX8O%G"/
M4-SPP.](1E?!YH.H2P;[5*'!-Y6'X5+@ZA2>U2;/:J+:Y!QW!V_2C3=3GFUV
MD_CA5MR:]/9;K^W3H6EXT?O\.!@^W3]\!O\)>W0/;F_O?U_7K.D AW&W_K?E
M<^UQ%NE"$B^DR.;K:_?.=X.=H=9YN"G&X>/]7??V&MOQ_O9Y\-3]I?^8%P1N
MK5$CDBB1YUV/F3T.$=WS'G,GJV[4EL$/,LG(-DSVV ??XEYZ]N.6B-V>I!,#
MS*.ARYI"B136E;\3=MR2=_AM27;33@]@B^Z[[@G>=^KU3X>7_83Q7@+XR_WG
M.PQH].Z'_;NGP=U]6?CR&#$%+ZTGV$UU'EM?[H6BA\]@V0P>J/P97'_MWF4:
M.T<5:#MO_(LQT2E;&%ADINH&L(59.9[8SY:"?)B K:#.*(6J"CQ0Z,=,(+S0
MCQN%;_?KX!&[73Y2_?BY>YMIX9LWU3CLWET_=H5A1;AYO"\TXS%D?7>JFI0A
MJ&:<R%JA%%=0IZPKIDQITS0*G9@5?!<Z<7-BO__XV+_K]86?*\(][]C>N[^[
MNT\Z>%<HQZUBJ_VK?J]'M2/8+<.G?O<ZT_C)AGY\(B;K>QYD#D/7C2,&#;.E
M*!_),QF-J*;\+&N6362ET)690'FA*S<*X:^#WN=N_Y:.X1[<))[>*C3DH2H4
MT[WWS*K'I;'TA5*,5VI*X;2N7'/A@0TEC^[C;MVCL'W98&(B/[)WU[H[8_7B
MSAB],U8O[HPMWN]J'_1^%_VOU/)(>8$&0N1]CL^=7?;__7EP-7@2!G?7_7\G
M5H'F+MJL2 WLA96?"K2HV\Z15X;=5F#2PB4@UBALZ8+TEMHB:AMN^57G;X=[
M?^#W_/7!MP=7WTB ^RF@N+<8*1O>&7[)P/X626R4[XCFO:="TK%1JQ5AK OZ
MARW=\MJK$ZS+]8>Q!:<BN*,; W.GXXUMJ_LSF7$J6VEXWA;<NUUT!7\VX\PD
MKZKA6-J<SVWCA<1\<=9# JA%J-5J(""E>KU&IV,[.A&:[B"W.+ -P'%WYCB
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
MHPF9RK"^\$[_/3%Q*T!IYU@*+\+_5=XI^=!O[?D,MF>ITYE&,(-Z$7ZE+QY
MFA@@9W 9^B^-TJPU46=T8 FL9^$Y_JC^@60DP%^B]Y?D_57S_JI[?S7H7V>"
M;01?8ABV;M@N[037NPSL:=4NFM[;6]Y?;7]G_H9$?T=B?7DCXJ:-;-A'QW][
M ##B\D+2AH76K1.6RT)8$ J+DB>P:&TCF#>=3VSXI_)A+K:6#UC?$Y)B 'T^
M5"4?JE($^EK[TI$4(&*?:"2?:*0(ZFW'6/7]V=343UQ84!D PH)])PC\6T(%
MQB7]R/L0LV2V.E:)*5!.!^Z=V/;LT\7%V]M;Q2*CRHOQ>M$;_!(6)8L_]I:Z
M6%@KL/Z,BL*%]2U;-NUKV2:7*$[.JR+\G_L2_SN!OSYP%L7_D2B!;>ZOS+X)
M[L9;&65>"%2749 3S[P%TPPZ50< Z38'7!.<)N_E_)L]8"!E#@;U\ZITCI=Z
M#@:#6N9@L, +!X!!/7,PD X.@\9)8."+2/*"]F1 "/*O%-C(^TQ31ZK]E95V
M*RH\:8%J"'J ( WQ]V!E6Q;X?-1G?5>MLTOWD3M#?S70'@^DA=@+V>Z6U@EL
M\6)ACZDCX&:!O&,A[_"<U\HY\K;"658XKET@+6FD'9[3.EE$FF7:GQY, T>=
MWIM#8KZJ(\)PA9&P&]4DLCFUCBD-4^G.H"=8X/5P>)5VP:MT>+R*!5X/BE=Q
M%[R*A\>KE"^\?M/E\5C55 "+TI,MM%4WX3CG KE6(#C?DKE>(#C?(KIQ= 3G
M@S&:&8-;6NBME36!LN1/]__C8+K:F,X,G=[ZV=VG3L2EKA[<I1;;.4=:5U%4
MS$/*VH.L*@.])\]46]:.IAF2Q5XGY]A[)+:LZD3IRZ8>0Z%GA^^DS,4[ML1<
MJ/R02<Y-R,L*ZHX?TD@9 #+G^V=(ZJ31LI,R%PO(F)&02J1G+CZ0#7,^E;@^
M?JC@A\!U0 V+AU?#QX]3_%A2.5GLY3U:DA+7+0',Y3UDDA;7+0'4'3]>DBX
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
MC\-O<>VP'*O/[(6W,X#JA-DS>V%=='X>9?V%^+[05U57I\[T8%&P#)!%.B5
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
MO_1"??\$NS8<<T0L]L\)D17JDL&CL)E+][_/AC*_A,\F]E2[_']02P,$%
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
MSBM6^F[%>'OS<\7.S]EGFH'XN'T6B9BWJ%TM:\&+4G^;12OQYRYREMHN2$*
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
MRULOSZG3?6BP]H<T)6$T_ ]02P,$%     @ -8A56!>$#D992@  _W,$ !0
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
MO14Z!K,/; KJYW?D=4-8C]^Q"5J;' 7@ IC7*[*Z(U03W<Y0U"7K19$>;WQ
MPQ%;IV%Y)6%FSZ<.5^0Y8S89CP,L?\H':R::U4N*$8H2OS-[Q#/V$EI/'GEW
M)&(T_>"W112UYOE0H=_'!I@Q)YRPLIG G'%->_A 0W9/>V1F_8\_A1&SQ\:X
M&U72PJ%O6AAMA;&@79Z8[&HBE1AUUV U>DF3E1KF+%%]<$(#0O_QQ3LVHEB/
M/_A1PBX7__@B8P9]YZ/@\/[(",6+0S8//S23'RD87='(K9!W#EKAQU;(?BU!
MEF_<-]V=N]6$ICL:FJ#Y'UIRS=/7]Y[W^%N3C,AO5Z?LCZED2R^]]*[ O1I=
M[>LH2^N?;#>XA,#V>#!GM_*SX;#:<1E:7Z3%P=!>FFI9\,4I@J!:EU]NUR6S
M;=F*.HZ*WV*G6'EE$*_;28(XC+PTO5@6E[O%<XBV? 9T\!3TJ$TD%5AG-8X*
M:PC34&YC^D1;,&U"1Y7]:54B(P0Z&]JR1A\8TU)!B%9C6R9C" &$84D:OWTY
MCSR0A5'?PA"DP1&JY/'6KM(Z3^)UPN_]K3=(I1UK(A,)H3?_,;?EH]8,;7G(
M,%+O$J,]@BR,41G,;G_J24$,OF1+&*%?/CL<YI273UC<I<7;EV4)C--PMQ-@
MAI8 &1S5Q(M$+.*B5@1_*5M[$7?\+;)#C](-VXV_>%%NV]Z%T72Y6:2+L[-?
M8/ I%9B1*?R0T.R&T!6/UDVS*J?/KA4\1L*)AT);,N/H )29F3:K(C"WS^/G
M)*NXM*W49*0P+6*+PI'#I?8EF8BHCFG?O*=):GNC]"9WX&?2ED$?CPKUKRR?
M\PV9L].3BRHT"@O\-HG]T%+CZ !<?M-DP8^EXO6L(HFV'8:$W%E?^D(9@:D2
MS3<RT4R335'4!$<:3=V3O9%  4:%^;=6K:=+2AZ]L,Z08#9<*SH+Y^"&4-P/
MK07"KI+:=]9-+401C0ECYZ4QCOO?[%I/G;#*12NL$L.:4A!SNDE@=W@57$H3
MU_ 2DJ_R(@[JB#Q2XH=5H-9C1 J$XF"Q8K>B\(\RXDS$H_T+BQVV7!Y=L/7?
MN^-8D@;DD<#NIK9O@TA)N56T^J*5XZ;T,9B(JLYB:P)L2ZUO7U 20NY,=WT1
MR?"R':M2TVQ90>=)[*-8*.,T]DDR I0 [H<)YB**G;A7L-<X8/D66O',"YX%
MG?B?.@6SD9YXP&3WP&B$0ZC<+!,EB/LL)R&TZV]S,HS4.VO*RT)5VV'1U'88
MLH+TT "A[-:"4Z_<L<<'$*(XH0=-@EO% XX 153V25A"I)">PZLDW(^M'-PF
M1QI'2B"2[O2BGKA@^$$,<.UH\7Y&^ZBT1J/%12,=ON+!4)=^-M)[7EU9J)M^
MBG<$R8@YM>FT#QTI;%AF^<>$?F(&9#O3%%F?02CND>!  $)>!4VD5R12H]H(
M8Q1V7N])X5&^%DZ^W^)(8L^M:HGQ+'D"-'*SC5;NV^"YW)3TW,H)=G,%H&9;
MBW'SI#[PVOH38)*-#MM5YX#X.]6Z:*J56]@57B1:_"![=SB'PQ- #34  DCL
M@7'.0%@&DR[*DDU%-8>R[YWE:Z&8DLN'4)BVD>*DCE P3 V<R><L]S+OM%P
M3N7O;7M4FHP2E%R"_O0N):!:?X),&VB2@/$36!"41>:B2R\,3N-#[S',O*C%
M@>UKNYJ@TQ-&1TX0\)!2I*YX^9UX6XBU$U&R#/W0MF(#$-P;N4'  _@AC6[M
ME)G8.=T4#)<+!4/U"<GLC8S$0"$Y+X?LH9L&SB^'.@(9PP?G65/UUCUSF(!C
MDUI'1FKDE/=XE_5B^@W37\K'O)2/>2D?8T- +^5C7LK'O)2/>2D?\U(^YJ5\
MC",IS%<^ID6)&907M-B\07%[;+K:H\E#2'$/@HQ!P*&DL+0HEVUY%GGVD%#>
MJQ%/5 -*^_%V(L0)R64UH'F:ICF^7"HJKETD1E*I$<)*7!D0O,BSE'<T88<<
MMES:I/92.!VLL&+K1MR7)75\1V]%9P_.&PE(.^>G*I,%F^_2+U?^XIYZ<4^9
MW"E2FM5A+<PB(W0=^@3JE6)C6V)@?]N*0#@MFA%DP0<EQL*VMZ-%J7"EE[12
MN/L)!OW(W'A&J-3OI%IF/?C'0+'L_I-2@_F<I@G!B<=ILAQ OB;=T,*3D!W5
M=#7:86,TCK WP(DQ MK#=>1@_PMM*Q1.XS;VELNBYR[A94&Y2PJ.J&2PBWNK
M%KBR#T?Q)U1=-&V;5LVT^W#QV6* 5=GT,$FSB^7[) G:2^ ZB>P[!X2$=CVJ
M4H813C'3HLP#VYI+ZS%@[9EW'?<."FH_S*1DDZK878H44RRFLP=W? E(2M^+
MT7V51-&6FNW[:G=RA\%TRK77N<#V,,%Y]'I/8L93Q&LF!"N&!N<G"]<$1Q0J
M:N[TDY9HE*!AG=U%J:6&U=*[51&U7SA,0<RI&M,2EPHUI">8 8_8)\P>/(6-
M8 )(4IR$?BGO,_M%3<<H[&R>G1060(;U!'U54N(US9 M+CFQ?3"[%' ILR"-
M;MW)QHMX!V9.]CR)DWJ%V+Z&"^FX/4E 2[1S11<#AA1+N>UX4A(]C3-"V4\L
M2TA(QJ7)K"T>,5@XP7SU_#@6<W_V/=LK W"P;"W.67LO=JP\C(-&3&S/1*2"
M#BES:RYA[:B<8 :!6BSBG'LS758;A2>,VS++/V>T*ZLQB=,#LDPH:8HPD_3X
MF:TLQDP8>W13? BOV\"KQB6%_P+MK,+C=->]I*A2PBD:T+!2K=^J7!K*HAA2
MV8>''R%"M=5BOXS .<G0+L?=N?=! #TT:MBE/CPCV.L$]CHZ^\!+0]\R_.,T
M=EVQ"9"I16';:.R3.PJC/+,>(RVBL@][0HA0+1)ID+19?4L2WC\P&HLU.\SN
MR7G.O^%B.8@"QM@U>K3WP'[4!+.6JN72  (NJL6$'0NO2WWWG>C:>-9RM5[.
MM!6FOZWK7>L*XD?L/X@I)V*2NW[0P7"KQ::H?(H>45^PU2E)<</F>)?0K[XP
MK]OR$D\OF/PEGAXBB'(=\N*<25P4)40L^3!*"TM,&$4?QL'""2CIT4(I_3!.
M TOIZU5^D"W,CFD]CI-2*-9D8KT A% JNU$$8I)@8+4@7NH.J TDJ7Z E1ZP
MNSD$]2!11"&GY?"9%2P5!5HS%<Y$$8Z R%YL%A% *&V)1S* 400BIN/4]0(6
MB@0GK!H#?\9ZF&9ELO'.\Y=G%?6SBLR5;P1ZXT;!*X(]2F(/G,#CT*!T'%T$
M_\K+V*OT)A&8"H4WZ<YCM-JM-:X(VY5IF)$JV>J2T# )KHB?W)>08A1<1F=W
MU_V0^/)"ZJ$*Y?M@R'>:T=#G?G*^#VX9LZGR6UPM.TO<?S:KT)8TU2D'QK97
M643J**?,"B\I%QMAG'T,VTR/@3TXODQ@528TZ!8!&#M#;^-'MD*[,APM B 9
MO+N/C:JO!G1DFGRW+&2\\-E^IES":?:!9 ^)[1=%$,GY=2ALV0GOFT+L($XT
MAT^*PW+R$U^*JAJG\_21@M"<UNSBBCSFU'_@.J^M#E'JU $([D+"&T3"@Q-%
M@2.PDLRLU>P.O?3A)$J>OICZ>'JQK*?"RL63DIH6LLKGNZ0)5XS!P>8VY57^
MFJS&A9\QE5FTTL#Y, ,&=L/&DLB\YZ[1!ACE6>;/XD4S7]%J+YOMA[+6-8W?
MIV(_C$B'\DWB=G>BL+@;1QQH]^*(".(H-W/:DD=*_+"XM+$_1Z2 -@X6JX1F
MX1\8=V0027<.$\P]UO$)@Y!'2F>>QQDB<7A\YL)5>$6L/7@5;;*??9+R(FD7
M=\Q.):E/8I_P%.R8_?[FBJ2$KOOWDO$&X;")'"IC;/'IP(GRKO^>(<"_XB*^
M]B)RL63?P3C/-I>15X9//:X&_<BGEX2"$75KI,VU<Z$2@(0/&)[(2T(I"8JD
M<.QT304QI_>F^0YB.> X[V?L([BOD.<:%/]ML5V]MR 9Z!J$=\(U#K2[=?!$
MJH Q9&'A^TD>\P<QGX1KA,0%$$EWMK3^(I>+= Q/E(OVD'1M 8367;QR6@ZM
M+=O2ZT"(%?HE7C27WH:O&'[%\GU&)&AU_9UM6TJ9^(QD#0,=*Q1MR \OT<&Y
M_QAF#X?,K& &!*U9L1V@J4O=Y3%K6^X*G'$*2@_9.%X]1LF&D"L2\6>;.7>Z
MA/1GM+]E -ON#<9OY4,.JB8*@DT\ZN  3.+TQF,F)"@\@"JOUJXRG7*_%>_V
MRR-K$/Z<=*P8774565O&<%/6JCK@&?F+9>O',]YXM)CYG-:!GA34T6*XT0#.
MH@#V6.8ZZ"JK$=J4;UGAU6&TAXR!SR':0PHP2N((4R%U_'<9LMCQ?/-*IDC/
M#QJ$7>YD\YW0%K<.RI  .#NBWA9LMJVFI:1V,NQGJD [6*(T:6,<^X0$1>E1
M_DCUP<MRR@,NX^ PB2+B%P5(N2& )E4##MQYH2T)V@1U+ =7GYG>.R6FMM:@
M_%GL;QVD40YF^'<X,[V<'LP&>\', $.+QA*P<!+&7NP[-+)E#'P.1K848)0N
M>[6UP$M%HF?+*X@YE:#YDA\SOD1P(NW7FNQ)0K<Y+&PIHDM20M#AVX)=6<I
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
M:ROWIC[PTM#G@=%AE&=<P/-H3BTN]J:_AC',NW'U'+1&F+A;_KQ-.(8+HL/
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
M:8?5VVUO8AC4D+2:"7MY'A$KB#G-0;:\?56"M!]&4*^G>7>K1)9[+D@EGLI
M@'FO(\?+)?&S<+V]B%RQ3[\B?A+[85265#:K9ULC,DZ!QRR'<<ZN>-5=+XG3
M4>)(5Q1;7!E:NQ#8%^W5F/..<)U?G@40/8Y<&E*6EUE[3UL1%LJE"<+9N*5@
MW:\^B16G9[CCE2.6#U8[)9C.?SYDQUC(V\NGA*'YX&"]C##AT(1WO$[&) *(
MT,=:(*63-?A7GF9%?).#Y3%@X4]\_@S%@1)]#F'E\(&7\SF-CV/V/21P9ZX(
M&''KS7.\3D3"45\PY[V7U/<HQF!3R6*TX/"42V\SN? UT-J-=Y2485V3P9P:
M+YGBL>[NWA!QU&FLDF_'"3$:$#SEK81X &=]##/;[8BL291@-'C2)N\NFD&Y
M+,?\)'!89Q(O^T/]L\IUTZE5%P>5)R<]7CU&R89T_AE;^-.8V]>E,5$D. WA
M %SRE4S715?!(A;'B])%%"5/O!3624*/DOPN6^91';DS_^+19=!5=(CMY:,M
M&)3HN!$5N&::+J&V0_0EA-S$.$X]*1J8K)>-FZZ#QFN<'B8INF5@@T5'^=HS
MG0\RV0!>V*PLI.*BCKT42B+[J:XK@"#O9%8N?C-<^-QE"4P31;O7IC1%=:(L
M6A=[_&OX&#&G[P_0ZR\4.)06 >-$YVISK$O=I2,8MJ[5 E4W++9?M6N<$^0C
M:T#I<Y!>]Q2SGSXUB#/!RYB2DG+K3#>7UCAN\]SS6B1GL#]ZU';"S:N_M<:1
M \8WSOANX76?6Y(ETP/G^8J_Z234XR[-.%F%,?_;,J'L']EU)/3Y/X11SFL#
M>#0.X_OTDM#BMF)<P7J;4;/HO10N;UHL+3HLG23TIF)I(63)*&\*C0F3.MA;
MPO!/&8[9A;Q!;-G6SRXCB*$9(3=D]<CV"MUPBR?;L(U>*FO+BE)(QI$/1+@H
MVQI1C(UU<937QV;Y:+TQ#D?M0)[\7'ME%#2<1XB/A/=[(,%BS;[BGG\-P^!B
M6;"77N19FK&3A?%<?(GE_:-'VZ$'1+B$VQM+$TFDLNYL,].BZK\7'2:K51*7
M]!=91L.[/"O*:B3##EFM!EJ6A6R!(5=/#""QVP <*TQ3L"0K;318F?-L;R%U
M=\[F*?M;#":T7]R<_=C)8T[]![X02X83_JA1K=LL\3_9*9<P('.Q/.V0.=-H
M<V,T[03C\3#RTI37TR!>FM--"Q:[VT-,9^96-E/DULE $P/GJ*=Y&<YXL>0%
M5+.'GW./9H0>K\LVD44O2/O=:F TT72=LG<->)D/XT*50")FJ(S2YI11>M;
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
M]$AVO^0/$MCVD:OIN7/E((EQ#%.L.A"GL4^)EY(C4O[W-.XQ8UF<:GK[+TX
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
MU2^7^%=_V4+?FLJ1\E6^Y7!TVU^,THBU3O+I7PEL>WW$=)QFT<#>:P%@H1F
M?0:WW:YM1P])2;D-(M,3DQPST#&!'AU2U-SB 2\TV]Q0+TZ]HN]:IT^@64SH
MZ+P#O*Q%ARK(&1F#"G"@<2*@:=#N_<(8$:B(MO&.$#0FAXG877 (#P<R2FX?
M#G36:S?D6((=4H,H 4V4EP,Y+;?5E 'K%B JW%K+4J+6WP[4TG+Z>&!38"AU
MFKDF."]L#B^Z"I<16:1IXI<-O\&7<<4$[NZ$(+U1'UDJ&! <2#7)ZX<D*4SS
MPD%PPNY/@9D$%!,Y#*DV$H4*%Y2P'M&>+7H IQ?+UL]F,A;&*+N]V^B8@T:X
MPMY)9VBU'//UQTS0L]"["R,VXY2VZ&4_"O&4@AN/H-\P9![#(T$V.;PALFH.
M+'4TN,5HX[[M>*S$8?H=QD1)G25IVC#G,Z8.-DQIYI1<++<_WB!<:#0(N^[[
M ES";1VE RM:[$V7B8H!E+N.C)+C*"G]!2Z68P]"%X*S?O%1BL[IO0=->@@Q
M5%Q9,-LC"$N;\Y(F0>XW2F,#ML'5<S@TOP$ZI3[S %C8;FS#R7[(X] /'[WH
MS'M*\S"#/ZJ+1NX'W,+OQFAT<QLOO9!R"9-+RFUMGZ3:> ,F<?H^I@$^! ](
M^7+]FS^YCT+.'M&&7SAT7T 7?SND$Z>^;F=8I@])%)R%JS"[6').27I):.O"
M>9+0&^]345T]S2DO5WJ8K GU[LE%O(CCW(L.O!34/]DF-3>UTXTN2E9!5FN^
MJ6M@<7]/R;V7$<XGXTO.T?&S'^4!8_R</!U&7KA*3QA:[_FOQL53^@5MM'B!
MEL$ZP>;(545X*ZL)75Q(I8E[2O'(6S%>>0#8_4/VBQ?EMNL>J>FYZW.AO1 T
M0+3=P5ETJ#7K*8Q(56H8^5HW1M%9ZP%;(AS'$:73;H]R2?::9-E, APCZ.!>
M8E-ZHQBJ"^H:6&[]95-%LM56(^"45<VP5Z>B$@Y <P^3/=3W BQ\G[*SMBPK
MA5/ #T1R3\QC/1C5Q6/G>/>ZSN]2\GO./O)XS2TF\R>O)M2Z.Z/@I6MZ5+J(
MC%%E_W$4H ]@TN&SO7U!!= D*4@_VD+$GH75@Y3E+Z*":#2#GK(@Z["3UB!"
M"R4:?X0:RF.5F,XL85Z2MRK%ZE2(1N=9RJI\K+])227D\#7*AGQ@#T\6Y(.3
MK#5*PV&U5)7.D,@$ZQ&J)G?$:_LS2RF]]#9<PY8!2LQ,*TI^6A:,@IC;;CT
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
M\-,/@,X O]$Y3EM6R7A1>N'"#9NDK_R$UHJ.3N(48A,Y_BE1E@'>S+%5@5
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
MR%W17[N6O*D=F":H67@Q#81T7!F6DIF+/\-@I]"IZ9+ O/:N[P<X\<4+K[W
M/X].O$V0>6$#X,CBI0#0?GUM*4X\Z[>:"'!9J=T@ @LZU[6$J?.UE;ZO1H@!
M=Z(WN&-(!/U/7H*;)*5'BT6^SDESM%.X#!;!^&WQI "MRYL<)VY[/#H1P&*F
MRYBQ.BO;G?"4]FYH05W -+U+H)?FR9;(ZU%V$J><H@=,*TJV@KU@L (VW)S<
M-/T1E//H,5C95EX&%F@)=^7E%7E4VE0J)##(M"'NW/N/AQ^0BU]$F37=<?9D
MN_+!1T3%%7^_@V;NH*F%B>3,]Y+RHN6$\_=K>#/0$J_BL".+CWP6\>$XN.#D
M(L.1G+8ZV>F*C)/'/S*^M9X "?=K>D-Y0Q^%CRTIU;(N'*X2.$\08F02@@AF
M(/7"5JD<)T9(F_YM4Z.QC]'ULD+]@28"K!H#EXB&MQT:SIJ*>P:9)<S<RH\*
MARQCDMNTUH\O(*WU8_?$Y.QB4+I[FETM/\>Q3RK0P>0Q6,#T-@['OTKG K*?
M6<9#A1N!2C/<7'9#7Y&D($5CW;99D;*M'7$2;G@D-;!OU#)C?\^FO<1!04$7
M.%<&^_+&&?M[1N8/>RVSQ@G[[KFITCS!/3<5VB?L#S)FJQ>P17W\J?HI\N$X
M\(.XR'!DHAH/R@G@>UH8(7WUH^,'3%(&,M\[,S=N*D.W, SK-4<6G,[BU@.W
M;?B\%RUTD,O0+)L)K1<K_9T,, D_PPC)4H@LA2-_'40!EB/<*7P:*9!!LVT<
M2O#A]5NBLTB])Z\USZF9J,C*IBRI['\L@]&HI\K^@7L30Z6OBGL30]Y99?]@
M1(/1J/?%_AOWW%3I?^&>F_(.&/MOAAF,N'L2-7YPAY2)K48Q,!>FHQ CGOU(
M.FG17A@_N@V>JK&O93/*=VP<28^W7IAMZ>*7<127YNG8H74N' <2Q$6&EP!
MQQ?BX]C;D'*L%486[M14:.H^KG3A\PB1'/UD9)GA@G'2RI.%";=B'_WU/ 1&
MQJUN?T_N1H=4>\,:K"E_=/EI/!4),%='%A<CA2-K!]_\N2WNIL3!WJDEWO0X
M]JQ1JYS]M^[M695V.>[M67G#G/VW(W+3J.')_COWW%1I>N*>F_*V)_OO!AH'
M1<.VXD,OJE&/;ANPH;C(W.#@HE#.UW4&@H17;<N OTFC1UA]N3,JY[O_WOV7
MKU+2U_V7+R_JN_]^1#UN5%MQ_] ]-U7J*[KGIKS"XO[AB-PTJHBW_\$]-U6J
MXKGGIKPNWOZ'0:=RF?A?%H@Y]M)@,?*9S(9A^UZ(B05'",CO0#D#H"G@5J56
MD)/#6LC"YE'-IX"3?E!<=%C)F90CY4.;65=O&LX/XUY/?>U@E-JY_]&]?E9)
M[W2OG^4)GOL?1]7/IT&89Z.72>)!<>$U<7#AMHHDOS71U3-0#1UNBI1#DPPN
MLN<%^# ;]A5\T=?8CES><5@S6DK^@5$N[H'[7-R#%Y&+>R#/Q3TPR\4MA>07
M&#RLD%0<H6_+>X"7^?H>)E?+7L& *0QN/=@NFJ;I(,AKGU:L 3RZ"(C(*CC-
M?U$4G.A5FJC>6E)S$FLB"M.Q"6\D+*WF:]H$'?NN5.$(T4:2=; ,9[OC:U?[
MO-X;*1![8/2BX,#]BX*#%_&BX$#^HN!@V(L"CN04]LO4I8QTH=LO]*N)X10'
M4VDW,X^F^6@KF<@HZ"LA54<.#IH?3B(L1S^>"F"SM$4FYOC>./<1!T89Z0?N
M,](/7D1&^H$\(_W +".]?NE:%;<Z#1X#'T9^[6?#18C^F+!&.!^DP^897*1X
MCYV]= 6J23._O-#A-Z<&GY@^YLTWCOQ_YC3G,;V+.;78"+Q[+X5^LV_E#?P]
M#](@@\5+;818$/LW<!$_1&25*?J]3(ZN[4]@Z@V)6F#MDC4YW5/=?"FVQ+%=
M@= ""RQ\H<=]]-!I%2RP-8+9_17AE$I1=O7!CH3];+_?<?;'^9Q_1FMA&QL9
MX#>W7XN>=H[+)#F26Z,O>T3FF'_H!!*MX'R:)[@5&P% = @;RY&_50,$'(35
M];%4J-A<U/RNG-3FF0@V:)K3LJ?FDM'K&*E/...J#!C<#=P@ 5CAA9LP)REU
MJ #0?O4&*4[<LKOEG&94!:_FVD13YVM/^.2$&/#*ZA)FV"F\3F+L*?G'VZ\(
MS'E4E1PY6F3(A\+-GR=Z+&R @ /UJ8^EM"A-/<6U;)K+0%-6#4EDJBA;5@HV
M)Z)%$$*$!'UU<!&GZ.=N17L2%!W4W!]_%]PJ_14HD,4@*8&1&J9!\0@F!@L<
MQ=H4T,#]%E3/!8%7@2+/'_$I )=+B.OZH;]Z"VJ+HD/:3<]A&\++->7'Y-V
M$^<4;A!C V(JH;^'$/\%EZ19QTD6_#&%B:X$TK8/K((4+[.Q,966)6K,<7V:
MZ/"W*:O*]!C@*UKQ!P4^GUTK6L>MDX8V7=C,ZDZ:T!$STU)+F"30)R_2IWZ9
M*@'FP-X58\152W12=52WWJLZ444J3&PK(>F^!SQRQH7M\144^;-QR!9!M8G,
M4 W ]I64.G*\>-0*_0OW/XZ:9F":0F3RX:,Q#+S[("06C)-6N.;L[SREUB&3
MH=+K0SE:+.(<68_7WM:[#W$I*?23)(?^14W6R<55"0D'!7Y,\.3V[/!\B/P3
MN@#8T!6H;4?7 +"HX>74<1DF(6*)5B;? .>C#_4DCLAW\TN0K4Z0LX0.KJ0$
MN)U<M,70YZ".A1AR[PCHG$KY;L$3F@X6Q7SG$2]#,1#+KYQ2HZGE3^M-&&\A
MO(&D'YM-92P /0,5S,>.(ZKEA/;=%=:[]]3F<WP?;,)[L9A*2&3XO+@/YYHV
MU.#H4F;VI<(BEI,QY1AQY*H85FM )\>V'F?*Q$W%38_G"%6%@F!Y^%_"[&K9
M^/$-7,#@$?]F<@6GA<P<3F@=A!4*3.&P>S'Z=6&'SDT%FLB+6"EJT]"@D64_
M']JHJO:!^ZK:!R^BJO:!O*KVP;"JVIPK3UH1U>'EN0B!^5R>"[#DJJEBQOPO
MSQ5D0.'R7$8B4\%%<!80^ND9V@KN:_C%R_($G>O(YSZ)PQ NL!6<8OU7UO8=
MV[$PP<#V#9T!CGQKD*P$L.R =;$.OI).5W&2[2)4UB"HEW'\#GF >#2%VI1^
MYA=\78A72_23#4RR[37B1X8KX?^>!QL,:F)Y%D%V43I' S^.#.,>J)N6'..N
MLB2M@D3;72MB ]Z+A%5&H)'>S1L5HCYP7XCZX$44HCZ0%Z(^,"M$+3FXSX+(
MBQ8.34 1 O,Q 058<L2KFC%_$U!!!A1,0!F)QGD;;51!_<!]!?6#%U%!_4!>
M0?U@: 7U1W0PQ<GVXOSLZ@:F,'D</U+& #$B_S]2_D?P@82EA2&P/B8<,;B
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
M$-&.;:GS)  M1C-E3DH5TU?EO*?JTYO;6J"M1Q]TL).6/KBN2A]4RS@N>&#
M]DZ[0#WJ#'G>R8-E73#G*(XZIKJJ0,Y+),T$<33Q(^'A(U):9WJ=* 'FP%,4
M8R0LJG[DOK*?&O-Z-=3%^S7. *V<S 802R$(/D2GT0<N6@K:C"UDCD,/4LZR
MHPYB.I@*''94,G@1/$+_&AF+49:2L.S(0L:#XB)BRL&%6[> #-G!88I%G+IN
M^"!A5U-R1/LTCI.>PDV<!AD5PY&%I+VV"]%H8<"KYT/'I+@^[8(^+ *(SFO'
MD4TF8UK5_'M[,Q:"AF216ZE+;PVG5AM=0+9+2/!1X08<$K1.<8<<H=%NY4/.
M,X[N8.W6O'I$XQ#[@DPG&"*:P3@?6W"X8*P[93Q,1%;Q')H*"7C$,87[VQO@
M4>'><A!6!3PO<%7/R5Y 28 YL'[%&'%[-9)R23UKUT4JEA+[6CE7\AV;W*G5
MYO-9GB$O[0M2;.M\39:O*B7J/@DQ6-1F!K ^>BKO/H*'5;8;+W>_IK 0,1(;
M*JI7 ;(ZN&!4$[9]H6?.\O*NSY"  T[%EM@34E\M$:$)G<<^&H6P[)^/(G1X
MR>NE+.9(Y+J](9R<F"K\:QV;TEV/]H[HHX)"8\URGN7^\45DN7_L*@_>1DQ.
MK[:8-)2K1FZ(? VK62)2='B&<=5],R0GC>.Z]5K<*45#;>]C??EO]DR^_#=[
MSK_\-WLOX<NOR<O]\HN-F(9FV>*RG29+6@+,Q:V2$"->14;Z6[#![;?;Y6+=
M&P8\%O(M ^:N1WF1^F;?2#OLN]<.^R]".^S+M</^T(L;#^'4%I-+A.8DZD$&
MS4$X5H0/OZSO@J\@W$1E59C8"<U*=S[2"]DW!T8ZXL"]CCAX$3KB0*XC#HPU
M_EV<>2'7XE1@K&0!FQ$M,2J\!U-X$H@5_ ;[LJ#&G%(L%+9O'GMB!5XKO?+%
MR_($_3EI!HH)!K;/&P,<5=)3*N$4A$_G$\%7% M96%^%;A/)<QF]/<WA)8)W
M]P3#1_@ECK+5V#>0QFC,2K(%B'+$&Q'B[:QE5T$$E 581I[II?A7Z"5W3[$C
MX2VAVW\*HHDA7UC?N7Q89,AE$_EL$L+P'8@6*"2)8W><UH=O_39+&T6^8+Z?
MWPV^$K.-A;,BQ\AI(SR 9\&C2PDEX)T4 M)$DB^BAT[S]DUY;2J@%2V,\R:U
MH"'&NY1.#'[VTHG \Z7SP\N1S@:OC:6SI,7DTGFT1$QTK$#;.,Q93EN8\B)5
M*YA #P]\&6<^4P),!+=/G,FEUY' SB6)E(6;,'Z:1WZ0DLI-T =+D@X'UC0?
MKHBH;HJ57H;L#A'7*6[S[5SC.U&1'%P&A^OG<X^O<8$_3+N5Q=.0,)(:Y)&/
M?I+DT&]$C*=_>6R*A<,2>YJH"FOOE6N"8E&2_UPL"SX]XP:]KNM;#9035KT^
M$PH.?_VL MW2LV@#5)R^E];'5^&FRNP+F$F95'TA$M=)U:2L<0/#-CC"@FE+
MI+(@V8_M"[ 1ZF>OE,X-G>@XMT>!?0)]V]NU8="^D-#S:!&OX9WW#*>KLLN!
MX^;T9R/#*S4'?62TA0 ^+P)D=&9X!D.*W B1F'T=$1)LV]AQ(4\\%53?V*Z,
M,ES;5^;*F/%:K18G9CR;Q[X:W.V__E4EA/EM>!=$;_VR1#_3-BVKM%KRB@8B
MY\)3'W<+$JD_#1X#'T:^<T-Q&JD2^5 CT-6H*?U%$"'S]22!?I"=>8O25-5X
M\BQ;P6Y[>@DVO/?Q:!;V9>@\5Z_&%'E1YGZJ;-6TKB=RUX(X*F7P.DZS!&9!
M0GK;'<,(+@,;]>R,T;!][)LBRA''3^M-&&\A!,544G#1<?QHJ$BTRBX.(=?
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
M1G'^+8W&5N7]T7=3EJT_67G) WY]@O,3<?%'&A$;6:C-<' AV4:8\E[\X7X
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
M]UX*?=S"&R*C!P.AG1VNHD]>$N%G$0@@&3CV&:$'W%::I!EZPAL]+]F676V
M#]-%$FQ:+9\<2:(9]UO'C3Z-S(7U.HDW$%GG.&R;-2MS?TWA,@\O@N78$JH"
MT4$2OP):''&D T"(1K@T:#0XV8K7*^[;-*ONR$<'41:D2&:+5+V1Y8D!P(5-
MTT>#E_U=#ZSJ]#KNX<EE4:M1)WN#1J]V;U?!9H,6.HG33.5RISW>ZENO%FB>
MCU., 0L\R%W)*B99RUN<_D8&I)64G:>0PCBM&W)-\X&+85GO&"5$1[.#F=OO
M7HF)[7">;.L#1*K3JOK(]P/R"'%D:>*"L2Y(/$RX6;'KC1=M^3W)G<B0C&N"
M9N3M#0^0G/-HD>!*T:>0_GD>=2"-+$)R>"X,$"E6O"H2, -!,1=\[Q>S7Z&?
M@66 _IZLTVZ\Q8FD*7.Y*7)J1#$.XC7[[N)[\79:W-B&KAB8 Y])C!$ODN=E
MV&5GMFEV9/\J<;%E"\LW;NHOB1H^-Z 6A^[1$C'I5_21GJ$)(\O;$$RL'Z8#
MD.75;DBS8$T[BD<13M'9] 6W=." AQ=$^O(1@BU:-G4=A1I!BE2[D*M0=YH$
M=@;H2_B,2S>'C_!+'&4KBSGM*LC8;T$U#.$QO@Q,0Y=AL7'DQ_QC8-+4_-V7
M!F3\!=X]Q4X_@1('%P:Q$:8CB?Q;IY>3@^3$7-2;)#0VJ0U XOXP[J6<8.'
M"#=$=21!?^?8=A\H+@.%O2*D'6N?V%1(@IP+.T%BYC9^B>=(@O[>;9QMF* ,
M$_.*BM;,^%EXM"_%F1W3CT4D.WQQ@CZ*TSJ6O]IN7O@+Q%7/H7_TB'[Z &_@
MV@NB\I=W,%F/G>NG#=Z%9:Z+I+";*8*V=MPLV9#EK5[*)B0Q-K)/\?LM&/E5
M5]TU[K$[44J:!)@#DUF,$4?:RDD <0JD>*#CFS<E'K;NW^3;'ONH4TA"E6/%
M2D.MN.'EV2I.@C^@[]3EGH(;>^-]X"=YDD"2WW6)]D+_,?%GS@1I.]]4!2G9
M]Y[AC&?7 7T=AHJDC$L \Q32BR#"KVE:U1Z^>,_!.E\?QTD2/^&D(V^#?I-M
M1Y8Y+=#6S7@=[,3U/Y9E_8^G(%L!#]Q[T3>70743EK=>9>E29H!!SH*%;/Z
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
M[LT=7?8IBM08498+Z*70/TI3F*5Z2HDWTY;SQ('/>_M-1@,Z7&CBV'X(+F9
M]21<L%O3U_V])77TB&BV[<>C ER4Q&$&-RL*S."+P@A^D,@;5U8)"HO8NWZ5
M(V/@.L](<:AS3"7BTE$GHXK/"*$7EH:QIE[4<!HG$#,K*=*-Q_#-$FV!*DI;
M(+<L?HCH<ZG(/XDC0J[T*<A69<.3]!1F7A"FMXL5]/,0QLOVW#^@KZJ_)@!J
M,5(X/O:2VBD-2,3DKF !# Q4T,#W!;Q78!>4,''.=&<A!-;Y1?=T<E=^.Q.Q
MR>C4'Q47'34_$6!K,9!I\.<E%4L^F1E$W:85I$D^G=XQ99+ VO+0CYH>.IH\
M23JK"D0[1K8&1CPO+(X>=B^"1R3$=^CGP3VM"0(9::]V1=J O<T\6%6*&#_4
M*Z3Z:LF'-,4K'%6P=N5/%2VSX*%#>\24W:U''3K$,95'[M(<DV Z)3B=AVBD
M 0<&KB\83XCFI 69![4F488\/%MY"3S&P3#\Y !&*:F5<Y0DB,3D(5-ZO*W'
M7'M;_+.C)R_QR7^P,D9X8?QP[]5)3NM)4+3Z_'&"#?"28/$$@&>PCG\7>G="
M^6KIZ*EH/,+%0-^.#AY66;S\FD(Z *DLTG(6&=1X6EG+)C"[2!H,SIH'.";6
M:G=6O" *AK4;+W<1M'(L/D<*@("L AH@G<=8II OUN7(*&PQN*T?"0?3V[A1
M0%K*6QL;;]M?DF,+;4II&_F+8EE])D8?6;>,^>1>> >3]22FFP"0Q<?#?"Q$
MH@X:,P">PK"H'!A4<MZU&I:+MSX\WZ4GS=6-UB2FC&1U>S?C [ <I%_K2U %
MFV16:E1-,)0TI@)]32[@S6".9F(H0'"1%V: I\(=C%".B440S-<B4)>%8>(\
M6I3GTW()%]G5\@Q)2+;Z6^XE&4Q(,;-TLDL6-9A6?$TME'@O"<E<++IT-BBF
MTX)VZ<Z<@BY:[&X5'U$FD.%='PFVG"+;=A*1ZZYN]PZE UT8H</#YG)!Q^%)
M4RY86S.]Z"B*YMTE2-GER984SYOBIHT/QZY8</&054,L9Y1E$=U7Q9.RCE$<
MD;-O$_NLOH>[@1O$HA4^4TE0%\$YS]*3>+V.(P)(QR@S6M9B3IH)?DI9,-5B
M@*Z&?XI+^-(%2[&;07AF"..K'D*F5#2OY@D?UE,59&NO;;N28Q,X3]+HF)1Y
MR#FYB&)QHW6#U-N5.><K62L612(7)S3-=QDG:W(W=;PM?CEMFHDZ!A8C<@;H
M*6BT8CBH%@.-U7; _;8:,:^,%&TA82>GZ)'2/'HL@,,Y=L=2=V*0-N57 1^M
M($@IF&=!Y$6+P N;HCNO.K@:W&>H5SG)S 6SJ+#ZBX=O_;-MU1)F"@4KAF4Y
M<8J/B:26;CFIV0_(91!9BY.=1"D)$09$SWB+3Z7MY/ L&WQ2A S$C*G29B1J
M0F6F1A!C^[';TPI?X"&5":/%E+J,#\YJD%:&C436:A%K3'3\U%27KPQ1$Y/#
M_.4%;^V)=9L8I$5+3@4?,XECVVSSDCH5)2<GS8 N.!A[G)R S<";(/U6M9*?
MIB>.#)Q512?#AA<?;DX#>!ZH)L[E2D&5KZUXL0HY#!5=;^W);CU%D-Q*E_2&
MDR%8O#O-6<B4^"I3MG^#G-3;?(W$<1LO;X.'*%@&"_PH8T%:FB.]>!V'P2*
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
M6<.I-:.T2Y9VT2"/K9/U;A4DOO(+$3):_$#$>J5=%OZ].(%@E_8\:WEU!%;
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
M)K(,QT26R6,BRPD0HN5\($3+,(1HB0DALH]@ DQT.1^8Z#(,$UUBPD3M(YB
M"EC.!Q6P#*,"EMBH@/$()CCBE_-QQ"_#CO@EIB->V_/*E)=&?)"!H;O/J!8S
MRC]U2F.]ROA%1YT&Y1&]J\[6_]GG-;VN*S:\]G!=9-Q_!,EOCP\^MX#L =S)
ML@^B.ED0WHW(9]0]):; BI;8ZB>8J*]DD)GE!%C'<CZPCF48UK%,#NM83H"B
M+N<#15V&H:C+%%!4R5:M2WK0D"=2L7UWY4RHS?N8Z/[NDL9Z=_>+CO:)?_QK
M31M>/OI[PYYKUI3)J3T]-[2A]1-U>NQ%:W(&#F&C/=$=$-5#LJJ&<0(.U\<4
MM2!"=L#SUE)>M>&J;-E,Y-]Y<2+:-F</P,[W-P_%:??H7^W=,RV>Z)>J;'=.
M%Z7H5=:]Z/H5WGU1+8.3$9BOD('C59F\(,K+=&);FZ^A94R'Z!]5_2>M&S-K
M0P>^ QNJ;/I?V6/5_'<_9\; "PPWV 2S'"&C;2JC58-Z[@F&"/9]Z>T?>",@
M([X$ +;(N^%\$E?EQS*#Q2>?<::?JQ[-2E^<^Z/?*YM+P0N2ET3VK!]=J"I'
M2:G+CU:-;?I?JFA<= @'(EXU#;,++O8UI'ISTA$!3>R82?AC9\]9O>$!)&>"
M/#Q&1'=$]"?)8SK@IL$T(Q[GW<XD,G6<.FR?P4L4BWBZ.V^4,L[IH)\V+]S]
M^_8,XKT^F>SA^) .\""YDHGFHBJ*K.9)8*NM^&;N=EG[)3O\D[8?Z#5[W0ZR
M)K^5&UK?[< Q<%]G#ZX94R0\HEN9-[?:RC5)H&O"^F;V54L^4**[)[Q_]GON
M98$WI /#O$PS0V/[-?2,NU-;N N]Y8+MI(V+87W@N9 V.HL"^^7&W"JE-^ZR
MJF_HH_PR5EL#T!_T6FXK*!NBVO*JD$9R0^))"<OG\U&&M((X4=KPXK0UAR"M
M3V>^+@27SX'\2_XY&T(?ETRV*?'+CP3/4/G__!/P5W#6? O"'APR6:'3^(X&
M/CP\G+*AWN@ "O6<%X7KLU:_3XJ05(.P?:=] 9 I.JOZL:K9I2M0[$D]UI7?
MF$.>WV#T-N5:!42FF<XV';A5EHUD]V":/P%J7&Q.'J^[X(SJ&O@WY2163(2
M=I,F6C.&3R^*D1JVIZZ,2I_W\.\N]*):"2YJUHCS2Y^P_SC'=&PO2&=)Q% <
MK-*ZQ Z[[ PX,?\VXF:IW X39TN=/['Z0"[Y.2$9ZHY]>*^;3L9[3&NC35:
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
M^45%M19'O.>R9%,DR;NH*\&,1>!J%E?ULZ*HGC,FVSRXBDW!;"O#K0!S'H[
MDYU!_9IRS8L),[VLMG<[VF5Y@W^FK![R$OYV6=7LEX."<$-G\E&@M!\V""Q$
MU8\7)0(<-W@U_!/KGQC\ MQWJ-_/B>_@"5'K\,RH=3B.<,P*;?>C/]HQ9.^'
M3BNBPT=O>VR4%S):VHP!*-)O[O+ Z5[X)Z3[L:%TB.PJ(6QPFLS#;^ 8C:%R
M]D76ZOW*[HUWS[1XHE^8Y;QS7A>FE3B61NBJ3'R.'JN%R2"#H$:Q$WD[WB->
MB,)W"U3T3KK8L:CYFSJL-Y# =?4;2XFLZMCO@M]+V)M?=85!A[.%\%B$?\G"
MZBL0V\%2\H,9>"S.]TU;L3->C]&9^"X;D6?6BJAFQH2FW1R],MF76U )B#YG
MD1E(^Y\+< %U1Z[#I\)-E/'BZMHF=YSX!'-X2,*Z0+0G;Z%*;W-;[=N=GW53
M/$CXD^-,$NR;Q'#4(\/?+A:>LWV,/!ZR='NHR@0:6S4E5^68WCQI%D](-$M8
M-DH9:'DCW\IMEM<\5G,-^V2^IDV<.U"TE+$NW=;M&DP (0F)-@:2Q"D#%WB=
ME5!A#_ZX>GBLJR=1Q29 :@[A$5[A#/[/;&>E!TYBAOGDLMI<844@'N7C>S-'
M29[[3W*+6V&AF!8[5P3[JTIL  3'PN)Y2#!A?HEM,Q:CH[3.=_:#^C<9BC$!
M9.QKD_#*1I5:CR'4L[KMX6?]"\V;T,/<P5)5[UL0]<;>,ZD7[>LJ,"H\\ I3
MA&?L_"_E&8O7M,ZKS=E?N9-@3#Y(Q),$'DUG1(Y&/3P8'6+AZ57-K9QKR+L-
MLTSI%21;\5QD%[\4LLJ] @W5'R$]ZC9J^+ T:[D*!S#+MF!_;.*\=[KYPLQ
M47VD]!+%R!CP[P5T@^SS$[NI,P["?YO8P.!CL!H2QMBQU;;Y][X14)V[ZFS#
M;#)VK&0%^#.O2ED$FT_N]R$W[ W]SSYO\I;>TOJ)727$[GDCH.KP@-?+?79]
M=1YDX%T0?4?F-F/5M,1X06IKX4?KSOJIH,Q7HO+7'J-(ECH#/!DSN^M]5C2]
M>%^U_]YN]X4RR>-M5Y?IJJK*@=4JW[BPA4T7[HM-4LC>Z^OT2'/VJ)G#@H-\
MI>UM5H1S* "5Q!],3C4V'/$8"V:3"#/.?;O_WK"]!O+$GO@^%63<U V(:&&'
MCJ=("7")8EL+ ;F13=BF76T_5=4&UIW<\9O;JO 8K@T'WO$V?-=3K0@T2QT7
M<XECMU']PF.;6",WD=^Y:</FI"TM&)(DSCF6RI-IX)%7VR%:V3D)1BM8%D.H
M=VKJ<[]4U@F)T -N-<@N9P_,5P]0N)>N** 6[.FT[ +#L=M4[I(0O0I3S:]3
M62%O[Z)X;=O6^?=]RYE[JZ[^A[R'&=<P#]^#[EE7I9-5?8W. 2+#P94Y,Z<_
M;K=T+=(!_7>_Y(RB+U>;XY-XE<E /L,$W<MJJR%!MX*ZT?EIB 8PSQUX2K5)
MO'4Z9;'-5T#P-!MF'%-(MVOZ"$)2;IYA6A"OR'C^^8OL*=\T51DH6*L?2XZ;
M&0QX>$FTRO."5'DQ33H/^@<EQ[O>@D^_:!N&(^]#KL(N$]Z2[)[NA//-VG@=
MVF5.5/!#(HO^R.!L; \:8117T<&L\J$P5ZJK#GSE*^R0M*I#G/!6+\51"L3;
M:A6*]>ZY\F^VZD'"GDR^WXY&/=QQ'6(AU\BH#EG1'L1B_EJ5E3)JG&16HH'D
MB^%X7-TFL17GE,7VT0<$3\XT&O:1.E(1'*[2V63V^#VF,:K )9?DMU-V3]5V
MYPT[\?H9A?P0!* >LX@*XX;OA&FH/@W6)0+=DGZ_"V$C"%@C]#VH37Q-F:!E
M,M:RUU"1[1MXN<J30.PFWL5T?#'N4C:/$BKAZUF4-C"39O?MKJJ!*$^X5=Z_
M$_\+A?>Z=J3?< ;)U"&9AI9&G YP#8\[ ''LZP/'#5W7\JL1XW/-B6JCL%2Z
MF82-I VO^R2RK92P!G!GY$NVWN4EK0]F>0^_P:V;#"NASP1Q[Q')-B-!#6!A
M$,YW=<XN!X\[6O_^__*BJ )<7<;S1#9(353C$F%T"_**FA8KSW.5@(O>SGD[
M"0V?\T0NSNGOX@-.O5JFRN\[_J?I$'>CX_Q\%_1[>TO7^YK7=PN4*^><AM""
MK+X7^3VW0&UY10DFS2F,;78"DJ.N-F=%*2^??*#,UJ#P8(+Y\(MEFY081:0"
MNP>.'0/9;CWSTZ+8W>O (2$F)(XO17%)@CF7Y<Q#MQ*Q$\D;(__V94-K#"'5
M=N04R[DG!12!EAS,/PDV&+;Z\B<**_+TW<FO@>QX_OGK1D2U2LR3ZA-E:(2%
MQ4Y2ICO&$30]MA/K??.6\$X:ZIFN%W_8YU@]XUKGFD5YM>TG,11LL!M >#8C
ME$P$TMB/.9J1,_V%"K!:ZZ^ATP30M1Z?A,H5E(..*%SM*'JHLR=E3V9-Z\3(
MPFB1'9'ZB2I#W.UUR2519CZX7HV"4J(%^9?\<R[[M$LB^]3XI,>$1-OSQ@Q#
MV>DHURTY#A<6DFR\(.8%(;5W(RRA;8)B]8++P[%_V/.%>T$?:[H6!S3[N:"2
M(, $=CNOE\[$V*Y_8KX LI3E*T0*7(_/?' Q7_1OYDD7Y&LIS/I]O.ID8%Y
M?1EW5FK4:':7";0N*;Z&*7);IWRZXM#NKYS)Z6OV0/U75D%A!<^E)ZT:#'EX
M-;5*A!@_YNX)C4>1<"':\NM0F)!#^&LZA(Z\<4+NJ.AA'MP<<4(.IV:*:I J
M/ !MRU7Y)3N<OCM][W=>PJ- KR<?3HX7M Q]J'"G=&C[RXU1=I#=#5?;&S:D
M.H?Z)MP8^E;F;L:-KC'G;6B Y+YK+]W(O(=4/K,H\8:S,D$GR'6L(RE[S[8M
MK4-5;J82'V?0J:W*S4Q@B$%%V([^%V@T(;KF;,VL3&:%G3VQ<=]3^$H5/X_7
M*P8U 41+9M.)MH)P11,7I;[3Q8H9A-\$582VPUYMP F_S;.N>E*HF*?10L(-
MDE-2N*48[IXA>3&O1,QX.<^:';ND 8W5YL/A6P- 1KW>S\!)[O4L@F$'71#5
M!_E^(&^@&Y*7;XW-L^LJ=>ICM,RV13158S.83<'"_1JSJ7N:_6Q:9)XPFTZ-
M8<ZF 2PRW-6AO;$'Q3+:2:2(/?,N+?3*(ITU=!.A#[1#:[5NJ^\\D^FNTC^S
M??WPE=T" ]@J\3A/V;JK2/=7:$Z@??*;681THZMQK$*0$U6[F"^_O"N"KJDA
M=.'6D+:&+TR>.%#N%-(?#P_H!C7L+:E"#A'.6$6&<A!NV!&%=@H#?3QZJRWN
M$A+);03WNOY]H(4K0.AT@6:DGY1 SEIQ1[)DB6#O6P&IAGM6E!(2LL;YSY$A
M8]P\T+E6$:R;CUM61&?WL#2')&KT!Q-&]4DT46;J@]LKSO#SCY =W9[B!<OO
MJJ]0^4&;$+>4?2&11I4HV,[L*M6%,JQX)\DG*%9.EWD5IQ]\,I !W$:A/*9#
MDHR6B8TJKU1V:$M0#8B@"79=8I8W+SS/6;4@%L\F0 *A>''0F@?LL_I@/G3V
M '%=S_42>B5F"XY_T,4L1(55W77_2=%Y:D[@%^C%<3%]L:8QK0RC;KV.-3?>
M'!31XB?>A'2A]&:4?I)B0MWBV"8K)#QVH'V4!S"^?]E,D%Y:Q)F9%C&\FZ:*
M6,1*:(VQ1VD%-7FE'_3_[%DL(^S#&WCZ;=I%8AF_;74XQ40\N!S!QK"ZA^'9
MU+$ZAR!>O=MDQN.=^K(O\W7^F!7CBGC69'CUN*\B(/:>XY!AN,UX147\VGO^
M!Y,--9820K09\4&DCDV;H@2#T6.YL3E%!X9[L*3PA!O-E'++\[CG3*[ ?)0"
M,8]OZ6+M<2A%\Q;)QB-JJA!_48I<X!@Y;3,X04%8E" F]F\Y!=FX3.[EL0Q]
M>/XXI</EX>L"J?(+"$8 S)"R6AES"2J[Q;%]\R'AL>G%#4I&87[+U><$:Q@-
M]%U#MGF;VOAU2F.%8?A%1_-"_[XO#L+%6I7TKCK;W[.C*]H'#:V);@X^:-%!
MP .-O3G%"3G<KZ:H!BF&N:KOLU*E&8VS":UN$Z,)&651ILQ'<,LR<I"$Q,8%
MWL8D@;F]R7')=HD=QF$![6[A6,7,(%QCU&CAF(2OM(7Z./J?NS2OR?&<7MD:
MB=0 G"$O*&3\LGM%6B/B9>J)#0Q-53BFU<U/86&:_APVO(7U(6WOG].?;W8)
M;/:W2T[<#;2CF^@5/>\8.3X<QK5PGK-ZP_^O5[;[)(;SHU>/WB3^^'ZPUR."
MURS$'Z1?TSPU[.T5-6>%J+SZS*#7E.V.H#!PN'O649\C\>'K!P>[)$6]3Y]M
MGB@[W!LV[X'+F_&D<B(EKFLX&KI-SRX!>UOFI+(YNI[*:@M0_,NB>A[!P%^I
M=H[W5=BX9,]8'%5TNO(YS'3B61J\U5R(\&(FLK>[AC2 ' -H*>NS#2Q;]=AX
MS2:Q5'MCMIN>%K%0%?LIRTN((Z]**,G<@YJ[E Q-9-2<L,/H(F\>JR9754A-
M*'YJ+Y='.-ML!'6!&1/1EXV.$RV"BTKS!W:M9L08YY/)<3,+Z"!!T2=VV@4
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
M[JBZGN.?!F'$8DF.HX14[4=PP<1=2/Z(^9K':R5L*A_ 4:<:?1QLDC]M5)P
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
MMKMJG^&VDC>02FEA=:.$P)3!@?+Z8#/EGZO6Q4$P.P<1^^68IFHK=5//$W2
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
M(08@F5>#7\Y%J^_H_I^QP_B9<2PJ&\*#37FL,6CA=QM,Y/X(;5I:K=EN)2(
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
M[ N"A%,:%3=S2,/H@D:_DD@TB%@$(GA-8I;+55)1#"R(_>#\]!(4/?$:JB[
M^*5[:KR/8K:K9]@%S?FW)LD&/S,:@K];-4/B"9I'4W9D(O07)*-8PLS.<2H!
M\A0=,!D],S9_ZM6[VILM8<K"RWG=$S2%T%YMG:=SBBC2;9M^A!BUTV\",OF_
M0AD<>/L32-2>CF39X=Q6$$'&F2A+X6W <GI2=)L4C$KCYT_I:&BFTY9WX^B[
MNQM'=D,68M>GP9RR9;)NYU8WZ8K79"6:LP4+6TUN9&!TQ;^=%*IM;E17ZG!2
M'-*D9B)M"7[MA5\KD@IVE2D%A&K%6X1+Z*DR0V&:U.@6=HK.DXGQ^4Q$_ZS5
MO>>"O=67KXUCB#5U:UL)VD B )YI,RS%/8\+V"-]^=HX#%,2T!V;Y(3I4GCN
MBI9Q;//;[4T#@4/B_GE!UZ^S7TYIG/UE3^+<4FCM#93(F=\SY$R[[@?,P>:
M!.[]TF%?;4SC:@,W&KNE3L"^VX_(,=OB96>"5QLX[$;O:H+>S-LR!2MCOLQ<
M:,<7N<8U"6)R0>R,^JJ'@>G;F7!$0JFAF5!+[0B;(#T%PUEI66A0.0-L,P5*
M_9C+'*3!6<JF]FB-)(.QCX=Q&-$E81505BQE&[2!V<Q&WK01#L5PIH__?J=L
MBUX(% [7+(KT\-$P$*ZC"LPS:EW^B$<\E_,"/F!!L'QMO"!8+H];WC10Q+SW
MW)FW"LDF5'[Z5?S]H9*KM"N<1]5'SMJ;A310)V[Y"[040C-U*QO#:AAU(Y*R
MX0V-HWOUMXN5;[!:(S83N69O8+VBQG :J5Q  #P+-_$&M^\URKN"CK;D<- '
M';9="N4YV$ NN.'!0-'6?JXI=%U#(RCL]PAZ#&VF&NAA:_]B.FGI*R[C6;29
M,B<(G61"36$ BVF%7/W*ENZG6\%I.S MI%&]I59:IDLA8NWR%0FV2^:S_&TU
MHB:K"EU:K:;"W_XOK5OV8B&OV00)AY\ZNE<L(VV@6?^LO$AHY?C7WMPGDS"D
M;CH64]E=;UD M1Y<03X%:]IH .<$F7#FYI[2Q"E+XHT3&@<S,PZU+#1(LRAC
M51M18'OVC->L5&.Q3I?,L,=$,@DPO)SG?M;3L5$'&=O%5W635 Z36LH"QG*]
M./YB&CI7<;[6F>?<>;X7>9W'J)[1,-RMZVXL>?HR* :!<!,1U(<MMJVA?3@U
M+2EQ[+51.QM$?6F+Q*23#UMY!.'8=9=WCM;!AA^A,2.7\_RFX!UV#<!8#2\5
M%2MO;W7(V7-=JD1>4_2LU"<T0<)U)O6E7L[D$@6[E2OP\WCFI1[L%:.SV-T)
MWT;9G6]?8XS$5Z",N4*M";NCQH'8>1QXKK=R_#/G(8R]2/VZ4/;E&!DDI0+&
M=,/;8.YX3,@,N1*GL>>24)L["HM@QP1FK%*A#O!5I6)*@RQ\3Z!,M)DE_72<
M+))3 GC^S5 ]*L4  B1IH75"<QD,[ZD_._.67G0Y%^PEX15AN5#ZA+*I\S49
M7A3&3#2L/*3\B'$6Y#*8!$'L^ =.J#2?$!+:X'A>F[D I2_6[71Y$Y/%@I&%
M$Q&Q&XY],]['CZX?S_CV+LC#H>]XR_"$T_*S^-4@N7:_9+O#-J&G@2#9Q@BI
MOJ&SN%GG%$:S>$G@<N0L^89$A=+B/OK%\6/HYB_M\+ .9VTYT2 AAK\K"TUW
M8NGY).M2:SG(KX,X%F.@146XN8\ C$[QNR%1U!.?ZP".P\'0H2#*K,FR]&7%
M=]LX0.&P;UMA+/K82@FHQJ5&DX5*6:B)ZS+N%Z2=>>PT4U,"B3/$Q% )U8AH
MWCVTG-CKY5[R)KX+R1\Q7^MX+9S CE>2Y>5L=<>1@=$>#U6_?=7+R,;/C<_+
MTJJ2*TAH(A9N*!%;X+1(4/):H9%K('5G 'RS]"I:!@4K/%%1H<*;=AF5L*Z5
M2PC9:4=0"P.UU52SL#9PS%8EX7AD%C.GNT7I2+0PY\=\>.5L!-IIF11W1I*6
M?\#BVP(,^8%0VWE9: _?0C9SH:[>R]HJ+2MTB)H1+X4_HVXL\GBOD^Q?8EO^
M^EI\?.>$1,#\_U!+ 0(4 Q0    ( #6(55C%@?"QQ (  !4*   *
M      "  0    !E>#(S+3$N:'1M4$L! A0#%     @ -8A56(9TLPL)"
MP2L   H              ( ![ (  &5X,S$M,2YH=&U02P$"% ,4    "  U
MB%58[E?OC?H'  #.*P  "@              @ $="P  97@S,2TR+FAT;5!+
M 0(4 Q0    ( #6(55@B6F\DB00  '82   *              "  3\3  !E
M>#,R+3$N:'1M4$L! A0#%     @ -8A56*K;J!?E!   >10   H
M     ( !\!<  &5X,S(M,BYH=&U02P$"% ,4    "  UB%58@KZR<,=G   T
M>   #0              @ ']'   :6UA9V5?,# Q+FIP9U!+ 0(4 Q0    (
M #6(55C06MQH0*L! %R6$P 0              "  >^$  !R9W(M,C R,S$R
M,S$N:'1M4$L! A0#%     @ -8A56$Y>4%6U&0  -3T! !
M ( !73 " ')G<BTR,#(S,3(S,2YX<V102P$"% ,4    "  UB%581M9!PLL.
M   MM@  %               @ % 2@( <F=R+3(P,C,Q,C,Q7V-A;"YX;6Q0
M2P$"% ,4    "  UB%58%X0.1EE*  #_<P0 %               @ $]60(
M<F=R+3(P,C,Q,C,Q7V1E9BYX;6Q02P$"% ,4    "  UB%58UR!&U+.J  #R
M6@@ %               @ '(HP( <F=R+3(P,C,Q,C,Q7VQA8BYX;6Q02P$"
M% ,4    "  VB%58WY[83NQ&  !Z=P0 %               @ &M3@, <F=R
G+3(P,C,Q,C,Q7W!R92YX;6Q02P4&      P # #7 @  RY4#

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>103
<FILENAME>rgr-20231231_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2023"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2023"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:rgr="http://ruger.com/20231231"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="rgr-20231231.xsd" xlink:type="simple"/>
    <context id="c0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <instant>2024-02-15</instant>
        </period>
    </context>
    <context id="c3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:NonvotingCommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:NonvotingCommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:FirearmsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c10">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:FirearmsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c11">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:FirearmsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c12">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:UnaffiliatedCastingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c13">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:UnaffiliatedCastingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c14">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:UnaffiliatedCastingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c15">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c16">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c17">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c18">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c19">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c21">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c22">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c23">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c24">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c25">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c26">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c27">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c32">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c33">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c34">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c35">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c36">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c37">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c38">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c39">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c40">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c41">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c42">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c43">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c44">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c45">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c46">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c47">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:ExportSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c48">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c49">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c50">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c51">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ToolsDiesAndMoldsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c52">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:OtherDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c53">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="c54">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c55">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c56">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c57">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c58">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c59">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c60">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandAndLandImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c61">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandAndLandImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c62">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c63">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c64">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c65">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ToolsDiesAndMoldsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c66">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">rgr:TradeNameMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c67">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c68">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c69">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c70">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:TradeAccountsPayableAndAccruedExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c71">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:TradeAccountsPayableAndAccruedExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c72">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:LeaseLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c73">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:LeaseLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c74">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">rgr:OperatingLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c75">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <instant>2022-11-30</instant>
        </period>
    </context>
    <context id="c76">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <instant>2023-01-05</instant>
        </period>
    </context>
    <context id="c77">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c78">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c79">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-01-07</endDate>
        </period>
    </context>
    <context id="c80">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c81">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JulyThreeToJulyThirtyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-09-30</instant>
        </period>
    </context>
    <context id="c82">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JulyThreeToJulyThirtyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c83">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JulyThirtyoneToAugustTwentySevenMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-09-30</instant>
        </period>
    </context>
    <context id="c84">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JulyThirtyoneToAugustTwentySevenMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c85">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:AugustTwentyEightToOctoberOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-09-30</instant>
        </period>
    </context>
    <context id="c86">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:AugustTwentyEightToOctoberOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c87">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberTwoToOctoberTwentyNineMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c88">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberTwoToOctoberTwentyNineMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c89">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberThirtyToNovemberTwentySevenMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c90">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberThirtyToNovemberTwentySevenMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c91">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:NovemberTwentySevenToDecemberThirtyOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c92">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:NovemberTwentySevenToDecemberThirtyOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c93">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberOneToOctoberTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c94">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberOneToOctoberTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c95">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:October29ToNovember25Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c96">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:October29ToNovember25Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c97">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:November26ToDecember31Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c98">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:November26ToDecember31Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c99">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c100">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rgr:StockIncentivePlan2017Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-05-31</instant>
        </period>
    </context>
    <context id="c101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rgr:StockIncentivePlan2023Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c102">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rgr:StockIncentivePlan2023Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c103">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rgr:StockIncentivePlan2017Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c104">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="rgr:VestingPeriodAxis">rgr:VestInJune2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c105">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="rgr:VestingPeriodAxis">rgr:VestInJune2026Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c106">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="rgr:VestingPeriodAxis">rgr:VestInMay2023Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="rgr:VestingPeriodAxis">rgr:VestingInMay2025Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c108">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="rgr:VestingPeriodAxis">rgr:VestInJune2027Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c109">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="rgr:VestingPeriodAxis">rgr:VestingMayTwoThousandTwentyTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c110">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="rgr:VestingPeriodAxis">rgr:VestInMay2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c111">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c112">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c113">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c114">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c115">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c116">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c117">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c118">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c119">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c120">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c121">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c122">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c123">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c124">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c125">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c126">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c127">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:LipseysMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c128">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:DavidsonsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c129">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:SportsSouthMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:LipseysMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:DavidsonsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c132">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:SportsSouthMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c133">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:LipseysMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c134">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:SportsSouthMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c135">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:DavidsonsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c136">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c137">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c138">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c139">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c140">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c141">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c142">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:UnaffiliatedCastingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c143">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:UnaffiliatedCastingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c144">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:UnaffiliatedCastingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c145">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:IntersegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c146">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:IntersegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c147">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:IntersegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c148">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c149">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c150">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c151">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:EliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c152">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:EliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c153">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:EliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c154">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c155">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c156">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c157">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c158">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c159">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c160">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c161">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c162">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c163">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c164">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c165">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c166">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2023-01-02</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="c167">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2023-04-02</startDate>
            <endDate>2023-07-01</endDate>
        </period>
    </context>
    <context id="c168">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2023-07-02</startDate>
            <endDate>2023-09-30</endDate>
        </period>
    </context>
    <context id="c169">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-04-02</endDate>
        </period>
    </context>
    <context id="c170">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-07-02</endDate>
        </period>
    </context>
    <context id="c171">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2022-06-30</startDate>
            <endDate>2022-10-02</endDate>
        </period>
    </context>
    <context id="c172">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2022-10-03</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c173">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalRifleAssociationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c174">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalRifleAssociationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c175">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalRifleAssociationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c176">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalShootingSportsFoundationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c177">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalShootingSportsFoundationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c178">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalShootingSportsFoundationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c179">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:TraditionalProductLiabilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c180">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:MunicipalLawsuitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c181">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:UnfairTradePracticesLawsuitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c182">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:NegligenceLawsuitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c183">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:TraditionalProductLiabilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c184">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:MunicipalLawsuitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c185">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:NegligenceLawsuitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c186">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:TraditionalProductLiabilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c187">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:MunicipalLawsuitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c188">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c189">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c190">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c191">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c192">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c193">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c194">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c195">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:AccruedLegalExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c196">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductInsurancePremiumExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c197">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:TotalProductLiabilityExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c198">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:AccruedLegalExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c199">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductInsurancePremiumExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c200">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:TotalProductLiabilityExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c201">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:AccruedLegalExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c202">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductInsurancePremiumExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c203">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:TotalProductLiabilityExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c204">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-16</instant>
        </period>
    </context>
    <context id="c205">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:IndividualAxis">rgr:ChristopherJKilloyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c206">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:IndividualAxis">rgr:ChristopherJKilloyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c207">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:IndividualAxis">rgr:JophnACosentinoJrMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c208">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:IndividualAxis">rgr:JophnACosentinoJrMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usdPershares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="pure">
        <measure>pure</measure>
    </unit>
    <dei:DocumentType contextRef="c0" id="ixv-15205">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport contextRef="c0" id="ixv-15206">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate contextRef="c0" id="ixv-15207">2023-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate contextRef="c0" id="ixv-15208">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus contextRef="c0" id="ixv-15209">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentTransitionReport contextRef="c0" id="ixv-15210">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="c0" id="ixv-15211">0-4776</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="c0" id="ixv-15212">STURM, RUGER &amp; COMPANY, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="c0" id="ixv-15213">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="c0" id="ixv-15214">06-0633559</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="c0" id="ixv-15215">1 Lacey Place</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="c0" id="ixv-15216">Southport</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="c0" id="ixv-15217">CT</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="c0" id="ixv-15218">06890</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="c0" id="ixv-15219">(203)</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="c0" id="ixv-15220">259-7843</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="c0" id="ixv-15221">Common Stock, $1 par value</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="c0" id="ixv-15222">RGR</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="c0" id="ixv-15223">NYSE</dei:SecurityExchangeName>
    <dei:EntityFilerCategory contextRef="c0" id="ixv-15224">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="c0" id="ixv-15225">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="c0" id="ixv-15226">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag contextRef="c0" id="ixv-15227">true</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentFinStmtErrorCorrectionFlag contextRef="c0" id="ixv-15228">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany contextRef="c0" id="ixv-15229">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat contextRef="c1" decimals="0" id="ixv-15230" unitRef="usd">1112555000</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="c2"
      decimals="INF"
      id="ixv-15231"
      unitRef="shares">17664200</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock contextRef="c0" id="ixv-185">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Portions of the registrant&#x2019;s Proxy Statement
relating to the 2024 Annual Meeting of Stockholders to be held May 30, 2024 are incorporated by reference into Part III (Items 10 through
14) of this Report.&lt;/p&gt;</dei:DocumentsIncorporatedByReferenceTextBlock>
    <dei:AuditorFirmId contextRef="c0" id="ixv-15232">49</dei:AuditorFirmId>
    <dei:AuditorName contextRef="c0" id="ixv-15233">RSM US LLP</dei:AuditorName>
    <dei:AuditorLocation contextRef="c0" id="ixv-15234">Stamford, Connecticut</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c3" decimals="-3" id="ixv-15235" unitRef="usd">15174000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c4" decimals="-3" id="ixv-15236" unitRef="usd">65173000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:ShortTermInvestments contextRef="c3" decimals="-3" id="ixv-15237" unitRef="usd">102485000</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments contextRef="c4" decimals="-3" id="ixv-15238" unitRef="usd">159132000</us-gaap:ShortTermInvestments>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c3" decimals="-3" id="ixv-15239" unitRef="usd">59864000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c4" decimals="-3" id="ixv-15240" unitRef="usd">65449000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryGross contextRef="c3" decimals="-3" id="ixv-15241" unitRef="usd">150192000</us-gaap:InventoryGross>
    <us-gaap:InventoryGross contextRef="c4" decimals="-3" id="ixv-15242" unitRef="usd">129294000</us-gaap:InventoryGross>
    <us-gaap:InventoryLIFOReserve contextRef="c3" decimals="-3" id="ixv-15243" unitRef="usd">64262000</us-gaap:InventoryLIFOReserve>
    <us-gaap:InventoryLIFOReserve contextRef="c4" decimals="-3" id="ixv-15244" unitRef="usd">59489000</us-gaap:InventoryLIFOReserve>
    <us-gaap:InventoryValuationReserves contextRef="c3" decimals="-3" id="ixv-15245" unitRef="usd">6120000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves contextRef="c4" decimals="-3" id="ixv-15246" unitRef="usd">4812000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet contextRef="c3" decimals="-3" id="ixv-15247" unitRef="usd">79810000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="c4" decimals="-3" id="ixv-15248" unitRef="usd">64993000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="c3" decimals="-3" id="ixv-15249" unitRef="usd">14062000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="c4" decimals="-3" id="ixv-15250" unitRef="usd">7091000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c3" decimals="-3" id="ixv-15251" unitRef="usd">271395000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c4" decimals="-3" id="ixv-15252" unitRef="usd">361838000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c3" decimals="-3" id="ixv-15253" unitRef="usd">462397000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c4" decimals="-3" id="ixv-15254" unitRef="usd">447126000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="c3" decimals="-3" id="ixv-15255" unitRef="usd">390863000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="c4" decimals="-3" id="ixv-15256" unitRef="usd">370273000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c3" decimals="-3" id="ixv-15257" unitRef="usd">71534000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c4" decimals="-3" id="ixv-15258" unitRef="usd">76853000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="c3" decimals="-3" id="ixv-15259" unitRef="usd">11976000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="c4" decimals="-3" id="ixv-15260" unitRef="usd">6109000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent contextRef="c3" decimals="-3" id="ixv-15261" unitRef="usd">43912000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent contextRef="c4" decimals="-3" id="ixv-15262" unitRef="usd">39963000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets contextRef="c3" decimals="-3" id="ixv-15263" unitRef="usd">398817000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c4" decimals="-3" id="ixv-15264" unitRef="usd">484763000</us-gaap:Assets>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent contextRef="c3" decimals="-3" id="ixv-15265" unitRef="usd">31708000</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent contextRef="c4" decimals="-3" id="ixv-15266" unitRef="usd">35658000</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:DividendsPayableCurrent contextRef="c4" decimals="-3" id="ixv-15267" unitRef="usd">88343000</us-gaap:DividendsPayableCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c3" decimals="-3" id="ixv-15268" unitRef="usd">149000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c4" decimals="-3" id="ixv-15269" unitRef="usd">1031000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <rgr:ProductLiabilityCurrent contextRef="c3" decimals="-3" id="ixv-15270" unitRef="usd">634000</rgr:ProductLiabilityCurrent>
    <rgr:ProductLiabilityCurrent contextRef="c4" decimals="-3" id="ixv-15271" unitRef="usd">235000</rgr:ProductLiabilityCurrent>
    <us-gaap:AccruedEmployeeBenefitsCurrent contextRef="c3" decimals="-3" id="ixv-15272" unitRef="usd">24660000</us-gaap:AccruedEmployeeBenefitsCurrent>
    <us-gaap:AccruedEmployeeBenefitsCurrent contextRef="c4" decimals="-3" id="ixv-15273" unitRef="usd">30160000</us-gaap:AccruedEmployeeBenefitsCurrent>
    <us-gaap:WorkersCompensationLiabilityCurrent contextRef="c3" decimals="-3" id="ixv-15274" unitRef="usd">6044000</us-gaap:WorkersCompensationLiabilityCurrent>
    <us-gaap:WorkersCompensationLiabilityCurrent contextRef="c4" decimals="-3" id="ixv-15275" unitRef="usd">6469000</us-gaap:WorkersCompensationLiabilityCurrent>
    <us-gaap:TaxesPayableCurrent contextRef="c4" decimals="-3" id="ixv-15276" unitRef="usd">1171000</us-gaap:TaxesPayableCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c3" decimals="-3" id="ixv-15277" unitRef="usd">63195000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c4" decimals="-3" id="ixv-15278" unitRef="usd">163067000</us-gaap:LiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c3" decimals="-3" id="ixv-15279" unitRef="usd">2170000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c4" decimals="-3" id="ixv-15280" unitRef="usd">3039000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <rgr:EmployeeCompensation contextRef="c3" decimals="-3" id="ixv-15281" unitRef="usd">1685000</rgr:EmployeeCompensation>
    <rgr:EmployeeCompensation contextRef="c4" decimals="-3" id="ixv-15282" unitRef="usd">1846000</rgr:EmployeeCompensation>
    <rgr:ProductLiabilityAccrualNoncurrent contextRef="c3" decimals="-3" id="ixv-15283" unitRef="usd">46000</rgr:ProductLiabilityAccrualNoncurrent>
    <rgr:ProductLiabilityAccrualNoncurrent contextRef="c4" decimals="-3" id="ixv-15284" unitRef="usd">73000</rgr:ProductLiabilityAccrualNoncurrent>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c5"
      decimals="0"
      id="ixv-15285"
      unitRef="usdPershares">1</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c6"
      decimals="0"
      id="ixv-15286"
      unitRef="usdPershares">1</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c5"
      decimals="INF"
      id="ixv-15287"
      unitRef="shares">50000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c6"
      decimals="INF"
      id="ixv-15288"
      unitRef="shares">50000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c7"
      decimals="0"
      id="ixv-15289"
      unitRef="usdPershares">1</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c8"
      decimals="0"
      id="ixv-15290"
      unitRef="usdPershares">1</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c7"
      decimals="INF"
      id="ixv-15291"
      unitRef="shares">40000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c8"
      decimals="INF"
      id="ixv-15292"
      unitRef="shares">40000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="c7"
      decimals="INF"
      id="ixv-15293"
      unitRef="shares">24437020</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c7"
      decimals="INF"
      id="ixv-15294"
      unitRef="shares">17458620</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="c8"
      decimals="INF"
      id="ixv-15295"
      unitRef="shares">24378568</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c8"
      decimals="INF"
      id="ixv-15296"
      unitRef="shares">17664230</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue contextRef="c7" decimals="-3" id="ixv-15297" unitRef="usd">24437000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="c8" decimals="-3" id="ixv-15298" unitRef="usd">24378000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="c3" decimals="-3" id="ixv-15299" unitRef="usd">46849000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="c4" decimals="-3" id="ixv-15300" unitRef="usd">45075000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c3" decimals="-3" id="ixv-15301" unitRef="usd">418058000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c4" decimals="-3" id="ixv-15302" unitRef="usd">393097000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:TreasuryStockCommonShares
      contextRef="c3"
      decimals="INF"
      id="ixv-15303"
      unitRef="shares">6978400</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="c4"
      decimals="INF"
      id="ixv-15304"
      unitRef="shares">6714338</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonValue contextRef="c3" decimals="-3" id="ixv-15305" unitRef="usd">157623000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:TreasuryStockCommonValue contextRef="c4" decimals="-3" id="ixv-15306" unitRef="usd">145812000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:StockholdersEquity contextRef="c3" decimals="-3" id="ixv-15307" unitRef="usd">331721000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c4" decimals="-3" id="ixv-15308" unitRef="usd">316738000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c3" decimals="-3" id="ixv-15309" unitRef="usd">398817000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c4" decimals="-3" id="ixv-15310" unitRef="usd">484763000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues contextRef="c9" decimals="-3" id="ixv-15311" unitRef="usd">540746000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c10" decimals="-3" id="ixv-15312" unitRef="usd">593289000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c11" decimals="-3" id="ixv-15313" unitRef="usd">728141000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c12" decimals="-3" id="ixv-15314" unitRef="usd">3021000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c13" decimals="-3" id="ixv-15315" unitRef="usd">2553000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c14" decimals="-3" id="ixv-15316" unitRef="usd">2595000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c0" decimals="-3" id="ixv-15317" unitRef="usd">543767000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c15" decimals="-3" id="ixv-15318" unitRef="usd">595842000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c16" decimals="-3" id="ixv-15319" unitRef="usd">730736000</us-gaap:Revenues>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c0" decimals="-3" id="ixv-15320" unitRef="usd">410148000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c15" decimals="-3" id="ixv-15321" unitRef="usd">415757000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c16" decimals="-3" id="ixv-15322" unitRef="usd">451179000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit contextRef="c0" decimals="-3" id="ixv-15323" unitRef="usd">133619000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c15" decimals="-3" id="ixv-15324" unitRef="usd">180085000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c16" decimals="-3" id="ixv-15325" unitRef="usd">279557000</us-gaap:GrossProfit>
    <us-gaap:SellingExpense contextRef="c0" decimals="-3" id="ixv-15326" unitRef="usd">38788000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense contextRef="c15" decimals="-3" id="ixv-15327" unitRef="usd">36114000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense contextRef="c16" decimals="-3" id="ixv-15328" unitRef="usd">33259000</us-gaap:SellingExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c0" decimals="-3" id="ixv-15329" unitRef="usd">42752000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c15" decimals="-3" id="ixv-15330" unitRef="usd">40551000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c16" decimals="-3" id="ixv-15331" unitRef="usd">43289000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OtherOperatingIncomeExpenseNet contextRef="c0" decimals="-3" id="ixv-15332" unitRef="usd">5000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet contextRef="c15" decimals="-3" id="ixv-15333" unitRef="usd">36000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet contextRef="c16" decimals="-3" id="ixv-15334" unitRef="usd">127000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OperatingExpenses contextRef="c0" decimals="-3" id="ixv-15335" unitRef="usd">81535000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="c15" decimals="-3" id="ixv-15336" unitRef="usd">76629000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="c16" decimals="-3" id="ixv-15337" unitRef="usd">76421000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss contextRef="c0" decimals="-3" id="ixv-15338" unitRef="usd">52084000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c15" decimals="-3" id="ixv-15339" unitRef="usd">103456000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c16" decimals="-3" id="ixv-15340" unitRef="usd">203136000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="c0" decimals="-3" id="ixv-15341" unitRef="usd">658000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="c15" decimals="-3" id="ixv-15342" unitRef="usd">837000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="c16" decimals="-3" id="ixv-15343" unitRef="usd">1975000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:InvestmentIncomeInterest contextRef="c0" decimals="-3" id="ixv-15344" unitRef="usd">5465000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest contextRef="c15" decimals="-3" id="ixv-15345" unitRef="usd">2552000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest contextRef="c16" decimals="-3" id="ixv-15346" unitRef="usd">49000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InterestExpense contextRef="c0" decimals="-3" id="ixv-15347" unitRef="usd">205000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense contextRef="c15" decimals="-3" id="ixv-15348" unitRef="usd">256000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense contextRef="c16" decimals="-3" id="ixv-15349" unitRef="usd">164000</us-gaap:InterestExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c0" decimals="-3" id="ixv-15350" unitRef="usd">822000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c15" decimals="-3" id="ixv-15351" unitRef="usd">1690000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c16" decimals="-3" id="ixv-15352" unitRef="usd">1598000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense contextRef="c0" decimals="-3" id="ixv-15353" unitRef="usd">6740000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense contextRef="c15" decimals="-3" id="ixv-15354" unitRef="usd">4823000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense contextRef="c16" decimals="-3" id="ixv-15355" unitRef="usd">3458000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c0" decimals="-3" id="ixv-15356" unitRef="usd">58824000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c15" decimals="-3" id="ixv-15357" unitRef="usd">108279000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c16" decimals="-3" id="ixv-15358" unitRef="usd">206594000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c0" decimals="-3" id="ixv-15359" unitRef="usd">10609000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c15" decimals="-3" id="ixv-15360" unitRef="usd">19947000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c16" decimals="-3" id="ixv-15361" unitRef="usd">50695000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss contextRef="c0" decimals="-3" id="ixv-15362" unitRef="usd">48215000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c15" decimals="-3" id="ixv-15363" unitRef="usd">88332000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c16" decimals="-3" id="ixv-15364" unitRef="usd">155899000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="c0"
      decimals="2"
      id="ixv-15365"
      unitRef="usdPershares">2.73</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c15"
      decimals="2"
      id="ixv-15366"
      unitRef="usdPershares">5</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c16"
      decimals="2"
      id="ixv-15367"
      unitRef="usdPershares">8.87</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c0"
      decimals="2"
      id="ixv-15368"
      unitRef="usdPershares">2.71</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c15"
      decimals="2"
      id="ixv-15369"
      unitRef="usdPershares">4.96</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c16"
      decimals="2"
      id="ixv-15370"
      unitRef="usdPershares">8.78</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c0"
      decimals="0"
      id="ixv-15371"
      unitRef="shares">17676955</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c15"
      decimals="0"
      id="ixv-15372"
      unitRef="shares">17648850</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c16"
      decimals="0"
      id="ixv-15373"
      unitRef="shares">17585604</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c0"
      decimals="0"
      id="ixv-15374"
      unitRef="shares">17811218</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c15"
      decimals="0"
      id="ixv-15375"
      unitRef="shares">17793348</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c16"
      decimals="0"
      id="ixv-15376"
      unitRef="shares">17757834</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="c0"
      decimals="2"
      id="ixv-15377"
      unitRef="usdPershares">6.27</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="c15"
      decimals="2"
      id="ixv-15378"
      unitRef="usdPershares">2.42</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="c16"
      decimals="2"
      id="ixv-15379"
      unitRef="usdPershares">3.36</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:StockholdersEquity contextRef="c17" decimals="-3" id="ixv-15380" unitRef="usd">24206000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c18" decimals="-3" id="ixv-15381" unitRef="usd">43468000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c19" decimals="-3" id="ixv-15382" unitRef="usd">342615000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c20" decimals="-3" id="ixv-15383" unitRef="usd">-145590000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c21" decimals="-3" id="ixv-15384" unitRef="usd">264699000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c22" decimals="-3" id="ixv-15385" unitRef="usd">155899000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c16" decimals="-3" id="ixv-15386" unitRef="usd">155899000</us-gaap:NetIncomeLoss>
    <us-gaap:DividendsCommonStock contextRef="c22" decimals="-3" id="ixv-15387" unitRef="usd">59104000</us-gaap:DividendsCommonStock>
    <us-gaap:DividendsCommonStock contextRef="c16" decimals="-3" id="ixv-15388" unitRef="usd">59104000</us-gaap:DividendsCommonStock>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c23" decimals="-3" id="ixv-15389" unitRef="usd">8280000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c16" decimals="-3" id="ixv-15390" unitRef="usd">8280000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition contextRef="c23" decimals="-3" id="ixv-15391" unitRef="usd">-4801000</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition contextRef="c16" decimals="-3" id="ixv-15392" unitRef="usd">-4801000</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c24" decimals="-3" id="ixv-15393" unitRef="usd">100000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c23" decimals="-3" id="ixv-15394" unitRef="usd">-100000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <rgr:DividendsCommonStockUnpaid contextRef="c22" decimals="-3" id="ixv-15395" unitRef="usd">1312000</rgr:DividendsCommonStockUnpaid>
    <rgr:DividendsCommonStockUnpaid contextRef="c16" decimals="-3" id="ixv-15396" unitRef="usd">1312000</rgr:DividendsCommonStockUnpaid>
    <us-gaap:StockholdersEquity contextRef="c25" decimals="-3" id="ixv-15397" unitRef="usd">24306000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c26" decimals="-3" id="ixv-15398" unitRef="usd">46847000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c27" decimals="-3" id="ixv-15399" unitRef="usd">438098000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c28" decimals="-3" id="ixv-15400" unitRef="usd">-145590000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c29" decimals="-3" id="ixv-15401" unitRef="usd">363661000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c30" decimals="-3" id="ixv-15402" unitRef="usd">88332000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c15" decimals="-3" id="ixv-15403" unitRef="usd">88332000</us-gaap:NetIncomeLoss>
    <us-gaap:DividendsCommonStock contextRef="c30" decimals="-3" id="ixv-15404" unitRef="usd">42718000</us-gaap:DividendsCommonStock>
    <us-gaap:DividendsCommonStock contextRef="c15" decimals="-3" id="ixv-15405" unitRef="usd">42718000</us-gaap:DividendsCommonStock>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c31" decimals="-3" id="ixv-15406" unitRef="usd">1671000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c15" decimals="-3" id="ixv-15407" unitRef="usd">1671000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition contextRef="c31" decimals="-3" id="ixv-15408" unitRef="usd">-3371000</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition contextRef="c15" decimals="-3" id="ixv-15409" unitRef="usd">-3371000</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c32" decimals="-3" id="ixv-15410" unitRef="usd">72000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c31" decimals="-3" id="ixv-15411" unitRef="usd">-72000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <rgr:DividendsCommonStockUnpaid contextRef="c30" decimals="-3" id="ixv-15412" unitRef="usd">90615000</rgr:DividendsCommonStockUnpaid>
    <rgr:DividendsCommonStockUnpaid contextRef="c15" decimals="-3" id="ixv-15413" unitRef="usd">90615000</rgr:DividendsCommonStockUnpaid>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="c15"
      decimals="INF"
      id="ixv-15414"
      unitRef="shares">4440</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:TreasuryStockValueAcquiredCostMethod contextRef="c33" decimals="-3" id="ixv-15415" unitRef="usd">222000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod contextRef="c15" decimals="-3" id="ixv-15416" unitRef="usd">222000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:StockholdersEquity contextRef="c34" decimals="-3" id="ixv-15417" unitRef="usd">24378000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c35" decimals="-3" id="ixv-15418" unitRef="usd">45075000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c36" decimals="-3" id="ixv-15419" unitRef="usd">393097000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c37" decimals="-3" id="ixv-15420" unitRef="usd">-145812000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c4" decimals="-3" id="ixv-15421" unitRef="usd">316738000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c38" decimals="-3" id="ixv-15422" unitRef="usd">48215000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c0" decimals="-3" id="ixv-15423" unitRef="usd">48215000</us-gaap:NetIncomeLoss>
    <us-gaap:DividendsCommonStock contextRef="c38" decimals="-3" id="ixv-15424" unitRef="usd">22446000</us-gaap:DividendsCommonStock>
    <us-gaap:DividendsCommonStock contextRef="c0" decimals="-3" id="ixv-15425" unitRef="usd">22446000</us-gaap:DividendsCommonStock>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c39" decimals="-3" id="ixv-15426" unitRef="usd">3989000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c0" decimals="-3" id="ixv-15427" unitRef="usd">3989000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition contextRef="c39" decimals="-3" id="ixv-15428" unitRef="usd">-2156000</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition contextRef="c0" decimals="-3" id="ixv-15429" unitRef="usd">-2156000</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationRestrictedStockUnitsRequisiteServicePeriodRecognition>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c40" decimals="-3" id="ixv-15430" unitRef="usd">59000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c39" decimals="-3" id="ixv-15431" unitRef="usd">-59000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <rgr:DividendsCommonStockUnpaid contextRef="c38" decimals="-3" id="ixv-15432" unitRef="usd">808000</rgr:DividendsCommonStockUnpaid>
    <rgr:DividendsCommonStockUnpaid contextRef="c0" decimals="-3" id="ixv-15433" unitRef="usd">808000</rgr:DividendsCommonStockUnpaid>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="c0"
      decimals="INF"
      id="ixv-15434"
      unitRef="shares">264062</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:TreasuryStockValueAcquiredCostMethod contextRef="c41" decimals="-3" id="ixv-15435" unitRef="usd">11811000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod contextRef="c0" decimals="-3" id="ixv-15436" unitRef="usd">11811000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:StockholdersEquity contextRef="c42" decimals="-3" id="ixv-15437" unitRef="usd">24437000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c43" decimals="-3" id="ixv-15438" unitRef="usd">46849000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c44" decimals="-3" id="ixv-15439" unitRef="usd">418058000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c45" decimals="-3" id="ixv-15440" unitRef="usd">-157623000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c3" decimals="-3" id="ixv-15441" unitRef="usd">331721000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c0" decimals="-3" id="ixv-15442" unitRef="usd">48215000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c15" decimals="-3" id="ixv-15443" unitRef="usd">88332000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c16" decimals="-3" id="ixv-15444" unitRef="usd">155899000</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c0" decimals="-3" id="ixv-15445" unitRef="usd">22383000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c15" decimals="-3" id="ixv-15446" unitRef="usd">25789000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c16" decimals="-3" id="ixv-15447" unitRef="usd">26152000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation contextRef="c0" decimals="-3" id="ixv-15448" unitRef="usd">3989000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c15" decimals="-3" id="ixv-15449" unitRef="usd">1671000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c16" decimals="-3" id="ixv-15450" unitRef="usd">8280000</us-gaap:ShareBasedCompensation>
    <rgr:ExcessAndObsolescenceInventoryReserves contextRef="c0" decimals="-3" id="ixv-15451" unitRef="usd">-1308000</rgr:ExcessAndObsolescenceInventoryReserves>
    <rgr:ExcessAndObsolescenceInventoryReserves contextRef="c15" decimals="-3" id="ixv-15452" unitRef="usd">-501000</rgr:ExcessAndObsolescenceInventoryReserves>
    <rgr:ExcessAndObsolescenceInventoryReserves contextRef="c16" decimals="-3" id="ixv-15453" unitRef="usd">-953000</rgr:ExcessAndObsolescenceInventoryReserves>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="c0" decimals="-3" id="ixv-15454" unitRef="usd">5000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="c15" decimals="-3" id="ixv-15455" unitRef="usd">36000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="c16" decimals="-3" id="ixv-15456" unitRef="usd">127000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:DeferredOtherTaxExpenseBenefit contextRef="c0" decimals="-3" id="ixv-15457" unitRef="usd">-5867000</us-gaap:DeferredOtherTaxExpenseBenefit>
    <us-gaap:DeferredOtherTaxExpenseBenefit contextRef="c15" decimals="-3" id="ixv-15458" unitRef="usd">-5573000</us-gaap:DeferredOtherTaxExpenseBenefit>
    <us-gaap:DeferredOtherTaxExpenseBenefit contextRef="c16" decimals="-3" id="ixv-15459" unitRef="usd">994000</us-gaap:DeferredOtherTaxExpenseBenefit>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c0" decimals="-3" id="ixv-15460" unitRef="usd">-5585000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c15" decimals="-3" id="ixv-15461" unitRef="usd">8413000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c16" decimals="-3" id="ixv-15462" unitRef="usd">-840000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories contextRef="c0" decimals="-3" id="ixv-15463" unitRef="usd">16125000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories contextRef="c15" decimals="-3" id="ixv-15464" unitRef="usd">21644000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories contextRef="c16" decimals="-3" id="ixv-15465" unitRef="usd">15726000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities contextRef="c0" decimals="-3" id="ixv-15466" unitRef="usd">-4406000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities contextRef="c15" decimals="-3" id="ixv-15467" unitRef="usd">-640000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities contextRef="c16" decimals="-3" id="ixv-15468" unitRef="usd">-392000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability contextRef="c0" decimals="-3" id="ixv-15469" unitRef="usd">-882000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability contextRef="c15" decimals="-3" id="ixv-15470" unitRef="usd">1031000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability contextRef="c16" decimals="-3" id="ixv-15471" unitRef="usd">-84000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities contextRef="c0" decimals="-3" id="ixv-15472" unitRef="usd">-6469000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities contextRef="c15" decimals="-3" id="ixv-15473" unitRef="usd">-3420000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities contextRef="c16" decimals="-3" id="ixv-15474" unitRef="usd">-5433000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <rgr:IncreaseDecreaseInProductLiability contextRef="c0" decimals="-3" id="ixv-15475" unitRef="usd">372000</rgr:IncreaseDecreaseInProductLiability>
    <rgr:IncreaseDecreaseInProductLiability contextRef="c15" decimals="-3" id="ixv-15476" unitRef="usd">-584000</rgr:IncreaseDecreaseInProductLiability>
    <rgr:IncreaseDecreaseInProductLiability contextRef="c16" decimals="-3" id="ixv-15477" unitRef="usd">-234000</rgr:IncreaseDecreaseInProductLiability>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet contextRef="c0" decimals="-3" id="ixv-15478" unitRef="usd">13026000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet contextRef="c15" decimals="-3" id="ixv-15479" unitRef="usd">954000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet contextRef="c16" decimals="-3" id="ixv-15480" unitRef="usd">-1217000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable contextRef="c0" decimals="-3" id="ixv-15481" unitRef="usd">-1171000</us-gaap:IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable>
    <us-gaap:IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable contextRef="c15" decimals="-3" id="ixv-15482" unitRef="usd">1171000</us-gaap:IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c0" decimals="-3" id="ixv-15483" unitRef="usd">33901000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c15" decimals="-3" id="ixv-15484" unitRef="usd">77231000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c16" decimals="-3" id="ixv-15485" unitRef="usd">172339000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c0" decimals="-3" id="ixv-15486" unitRef="usd">15796000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c15" decimals="-3" id="ixv-15487" unitRef="usd">27730000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c16" decimals="-3" id="ixv-15488" unitRef="usd">28776000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireInvestments contextRef="c0" decimals="-3" id="ixv-15489" unitRef="usd">192627000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireInvestments contextRef="c15" decimals="-3" id="ixv-15490" unitRef="usd">365480000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireInvestments contextRef="c16" decimals="-3" id="ixv-15491" unitRef="usd">681940000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments contextRef="c0" decimals="-3" id="ixv-15492" unitRef="usd">249274000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments contextRef="c15" decimals="-3" id="ixv-15493" unitRef="usd">406319000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments contextRef="c16" decimals="-3" id="ixv-15494" unitRef="usd">602976000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="c0" decimals="-3" id="ixv-15495" unitRef="usd">5000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="c15" decimals="-3" id="ixv-15496" unitRef="usd">100000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="c16" decimals="-3" id="ixv-15497" unitRef="usd">203000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c0" decimals="-3" id="ixv-15498" unitRef="usd">40856000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c15" decimals="-3" id="ixv-15499" unitRef="usd">13209000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c16" decimals="-3" id="ixv-15500" unitRef="usd">-107537000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsOfDividendsCommonStock contextRef="c0" decimals="-3" id="ixv-15501" unitRef="usd">110789000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock contextRef="c15" decimals="-3" id="ixv-15502" unitRef="usd">42718000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock contextRef="c16" decimals="-3" id="ixv-15503" unitRef="usd">59104000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c0" decimals="-3" id="ixv-15504" unitRef="usd">11811000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c15" decimals="-3" id="ixv-15505" unitRef="usd">222000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="c0" decimals="-3" id="ixv-15506" unitRef="usd">2156000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="c15" decimals="-3" id="ixv-15507" unitRef="usd">3371000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="c16" decimals="-3" id="ixv-15508" unitRef="usd">4801000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c0" decimals="-3" id="ixv-15509" unitRef="usd">-124756000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c15" decimals="-3" id="ixv-15510" unitRef="usd">-46311000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c16" decimals="-3" id="ixv-15511" unitRef="usd">-63905000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect contextRef="c0" decimals="-3" id="ixv-15512" unitRef="usd">-49999000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect contextRef="c15" decimals="-3" id="ixv-15513" unitRef="usd">44129000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect contextRef="c16" decimals="-3" id="ixv-15514" unitRef="usd">897000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c4" decimals="-3" id="ixv-15515" unitRef="usd">65173000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c29" decimals="-3" id="ixv-15516" unitRef="usd">21044000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c21" decimals="-3" id="ixv-15517" unitRef="usd">20147000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c3" decimals="-3" id="ixv-15518" unitRef="usd">15174000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c4" decimals="-3" id="ixv-15519" unitRef="usd">65173000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c29" decimals="-3" id="ixv-15520" unitRef="usd">21044000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="c0" id="ixv-10101">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;&lt;b&gt;1.&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;b&gt;Summary of Significant Accounting Policies&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Organization&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Sturm, Ruger &amp;amp; Company, Inc. (the &#x201c;Company&#x201d;)
is principally engaged in the design, manufacture, and sale of firearms to domestic customers. Approximately 99% of sales were from firearms.
Export sales represented approximately 6% of firearms sales. The Company&#x2019;s design and manufacturing operations are located in the
United States and almost all product content is domestic. The Company&#x2019;s firearms are sold through a select number of independent
wholesale distributors principally to the commercial sporting market.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company manufactures investment castings made
from steel alloys and metal injection molding (&#x201c;MIM&#x201d;) parts for internal use in its firearms and utilizes available capacity
to manufacture and sell investment castings and MIM parts to unaffiliated, third-party customers. Castings were less than 1% of the Company&#x2019;s
total sales for the year ended December 31, 2023.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Preparation
of Financial Statements&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company follows United States generally accepted
accounting principles (&#x201c;GAAP&#x201d;). The preparation of financial statements in conformity with GAAP requires management to make
estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent liabilities at the date
of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ
from these estimates.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The significant accounting policies described
below, together with the notes that follow, are an integral part of the consolidated financial statements.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Principles
of Consolidation&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The consolidated financial statements include
the accounts of the Company and its wholly owned subsidiary. All significant intercompany accounts and transactions have been eliminated.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Revenue Recognition&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company recognizes revenue in accordance
with the provisions of Accounting Standards Codification Topic 606, Revenue from Contracts with Customers (&#x201c;ASC 606&#x201d;), which
became effective January 1, 2018. Substantially all product sales are sold FOB (free on board) shipping point. Customary payment terms
are 2% 30 days, net 40 days. Generally, all performance obligations are satisfied when product is shipped and the customer takes ownership
and assumes the risk of loss. In some instances, sales include multiple performance obligations. The most common of these instances relates
to sales promotion programs under which downstream customers are entitled to receive no charge products based on their purchases of certain
of the Company&#x2019;s products from the independent distributors. The fulfillment of these no charge products is the Company&#x2019;s
responsibility. In such instances, the Company allocates the revenue of the promotional sales based on the estimated level of participation
in the sales promotional program and the timing of the shipment of all of the firearms included in the promotional program, including
the no charge firearms. Revenue is recognized proportionally as each performance obligation is satisfied, based on the relative customary
price of each product. Customary prices are generally determined based on the prices charged to the independent distributors. The net
change in contract liabilities for a given period is reported as an increase or decrease to sales. The Company accounts for cash sales
discounts as a reduction in sales. Amounts billed to customers for shipping and handling fees are included in net sales and costs incurred
by the Company for the delivery of goods are classified as selling expenses. Federal excise taxes are excluded from net sales.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Cash and
Cash Equivalents&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company considers interest-bearing deposits
with financial institutions with remaining maturities of three months or less at the time of acquisition to be cash equivalents.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Fair Value
Measurements of Short-term Investments&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Fair value is defined as the price that would
be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants in the principal or
most advantageous market at the measurement date. Fair value is established according to a hierarchy that prioritizes observable and unobservable
inputs used to measure fair value into three broad levels, which are described below:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;Level 1: Unadjusted quoted prices in
active markets that are accessible at the measurement date for assets or liabilities. The fair value hierarchy gives the highest priority
to Level 1 inputs.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;Level 2: Observable prices that are
based on inputs not quoted on active markets, but corroborated by market data.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;Level 3: Unobservable inputs are used
when little or no market data is available. Level 3 inputs are given the lowest priority in the fair value hierarchy.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The asset or liability&#x2019;s fair value measurement
level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. Valuation
techniques used need to maximize the use of observable inputs and minimize the use of unobservable inputs.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;As
of December 31, 2023, the Company&#x2019;s short-term investments consist of U.S. Treasury instruments (Level 1), maturing within one year,
and &lt;/span&gt;investments in a bank-managed money market fund that invests exclusively in United States Treasury obligations and is valued
at the net asset value ("NAV") daily closing price, as reported by the fund, based on the amortized cost of the fund&#x2019;s
securities (Level 2)&lt;span style="font-family: Times New Roman, Times, Serif"&gt;. For the bank-managed money market fund, t&lt;/span&gt;he NAV
is used as a practical expedient to estimate fair value. This practical expedient is not used when it is determined to be probable that
the fund will sell the investment for an amount different than the reported NAV&lt;span style="font-family: Times New Roman, Times, Serif"&gt;.
Such securities are classified as held to maturity, since the Company has the intent and ability to do so, and are carried at cost plus
accrued interest, which approximates fair value.&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The fair value of inventory acquired as part of
business combination is based on a third-party valuation utilizing the comparable sales method which is based on Level 2 and Level 3 inputs.
The fair value of property, plant and equipment acquired as part of business combination is based on a third-party valuation utilizing
the indirect method of cost approach, which is based on Level 2 and Level 3 inputs. The fair value of patents acquired as part of business
combination is based on a third-party valuation utilizing the replacement cost method, which is based on Level 2 and Level 3 inputs. The
fair value of the remaining intangible assets as part of business combination are based on a third-party valuation utilizing discounted
cash flow methods that involves inputs, which are not observable in the market (Level 3).&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="text-decoration:underline"&gt;Accounts Receivable&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company establishes an allowance for doubtful
accounts based on the creditworthiness of its customers and historical experience. While the Company uses the best information available
to make its evaluation, future adjustments to the allowance for doubtful accounts may be necessary if there are significant changes in
economic and industry conditions or any other factors considered in the Company&#x2019;s evaluation. Bad debt expense has been immaterial
during each of the last three years. The Company mitigates its credit risk by maintaining credit insurance on most of its significant
customers.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Inventories&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Substantially all of the Company&#x2019;s inventories
are valued at the lower of cost, principally determined by the last-in, first-out (LIFO) method, or net realizable value. Elements of
cost in inventories include raw materials, direct labor and manufacturing overhead.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Property,
Plant and Equipment&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Property, plant and equipment are carried at
cost. Depreciation is computed over useful lives using the straight-line and declining balance methods predominately over 15 years for
buildings, 7 years for machinery and equipment and 3 years for tools and dies. When assets are retired, sold or otherwise disposed of,
their gross carrying values and related accumulated depreciation are removed from the accounts and a gain or loss on such disposals is
recognized when appropriate.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Maintenance and repairs are charged to operations;
replacements and improvements are capitalized.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Long-lived Assets&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company evaluates the carrying value of long-lived
assets to be held and used when events or changes in circumstances indicate the carrying value may not be recoverable. In performing this
review, the carrying value of the assets is compared to the projected undiscounted cash flows to be generated from the assets. If the
sum of the undiscounted expected future cash flows is less than the carrying value of the assets, the assets are considered to be impaired.
Impairment losses are measured as the amount by which the carrying value of the assets exceeds their fair value. The Company bases fair
value of the assets on quoted market prices if available or, if not available, &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;quoted market prices of similar assets. Where quoted market
prices are not available, the Company estimates fair value using the estimated future cash flows generated by the assets discounted at
a rate commensurate with the risks associated with the recovery of the assets. As of December 31, 2023, the Company does not believe there
are any indications of impairment related to long-lived assets.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; color: #252525"&gt;&lt;span style="text-decoration:underline"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; color: #252525"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="color: #252525"&gt;The Company&#x2019;s
goodwill represents the excess of the purchase price of business combinations over the fair value of the net assets acquired. We assess
goodwill for impairment on an annual basis during the fourth quarter of each year, and between annual tests whenever events or changes
in circumstances indicate that the carrying amount may not be recoverable. An impairment exists by the amount the fair value of a reporting
unit to which goodwill has been allocated is less than their respective carrying values. The impairment for goodwill is limited to the
total amount of goodwill allocated to the reporting unit. Goodwill impairment testing requires significant judgment and management estimates,
including, but not limited to, the determination of (i)&#160;the number of reporting units, (ii)&#160;the goodwill and other assets and
liabilities to be allocated to the reporting units and (iii)&#160;the fair values of the reporting units. The estimates and assumptions
described above, along with other factors such as discount rates, will significantly affect the outcome of the impairment tests and the
amounts of any resulting impairment losses.&lt;/span&gt; As of December 31, 2023, the Company does not believe there are any indications of
impairment related to goodwill.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; color: #252525"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Income Taxes&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Income taxes are accounted for using the asset
and liability method. Under this method, deferred income taxes are recognized for the tax consequences of &#x201c;temporary differences&#x201d;
by applying enacted statutory rates applicable to future years to temporary differences between the financial statement carrying amounts
and the tax basis of the Company&#x2019;s assets and liabilities.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Product Liability&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company provides for product liability claims
including estimated legal costs to be incurred defending such claims. The provision for product liability claims is charged to cost of
products sold.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Advertising Costs&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company includes advertising costs in selling
expenses and these costs are expensed as incurred. Advertising costs for 2023, 2022, and 2021, were $3.1 million, $2.4 million, and $2.6
million, respectively.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Shipping
Costs&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Costs incurred related to the shipment of products
are included in selling expense. Such costs totaled $4.4 million, $4.7 million, and $4.2 million in 2023, 2022, and 2021, respectively.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Research and Development&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2023, 2022, and 2021, the Company spent approximately
$9.8 million, $9.6 million, and $11.7 million, respectively, on research and development activities relating to new products and the improvement
of existing products. These costs are included in costs of products sold and are expensed as incurred. These costs are capitalized for
tax purposes under the provisions of the Tax Cuts and Jobs Act of 2017 that relate to IRS Code Section 174, as discussed in Note 13.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Earnings per Share&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Basic earnings per share is based upon the weighted-average
number of shares of common stock outstanding during the year. Diluted earnings per share reflect the impact of options, restricted stock
units, and deferred stock outstanding using the treasury stock method.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Recent Accounting Pronouncements&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In November of 2023, the FASB issued ASU 2023-07,
&#x201c;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures.&#x201d; The updated accounting guidance requires
enhanced reportable segment disclosures, primarily related to significant segment expenses which are regularly provided to the chief operating
decision maker. The guidance is effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning
after December 15, 2024. Retrospective application is required and early adoption is permitted. The Company is currently evaluating the
effect the updated guidance will have on its financial statement disclosures.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In December of 2023, the FASB issued ASU 2023-09,
&#x201c;Income Taxes (Topic 740): Improvements to Income Tax Disclosures.&#x201d; The updated accounting guidance requires expanded income
tax disclosures, including the disaggregation of existing disclosures related to the effective tax rate reconciliation and income taxes
paid. The guidance is effective for fiscal years beginning after December 15, 2024. Prospective application is required, with retrospective
application permitted. The Company is currently evaluating the effect the updated guidance will have on its financial statement disclosures.&lt;/p&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <rgr:OrganizationPolicyTextBlock contextRef="c0" id="ixv-10111">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Organization&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Sturm, Ruger &amp;amp; Company, Inc. (the &#x201c;Company&#x201d;)
is principally engaged in the design, manufacture, and sale of firearms to domestic customers. Approximately 99% of sales were from firearms.
Export sales represented approximately 6% of firearms sales. The Company&#x2019;s design and manufacturing operations are located in the
United States and almost all product content is domestic. The Company&#x2019;s firearms are sold through a select number of independent
wholesale distributors principally to the commercial sporting market.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company manufactures investment castings made
from steel alloys and metal injection molding (&#x201c;MIM&#x201d;) parts for internal use in its firearms and utilizes available capacity
to manufacture and sell investment castings and MIM parts to unaffiliated, third-party customers. Castings were less than 1% of the Company&#x2019;s
total sales for the year ended December 31, 2023.&lt;/p&gt;</rgr:OrganizationPolicyTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c46"
      decimals="INF"
      id="ixv-15521"
      unitRef="pure">0.99</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c47"
      decimals="INF"
      id="ixv-15522"
      unitRef="pure">0.06</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c48"
      decimals="INF"
      id="ixv-15523"
      unitRef="pure">0.01</us-gaap:ConcentrationRiskPercentage1>
    <rgr:PreparationOfFinancialStatementsPolicyTextBlock contextRef="c0" id="ixv-10121">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Preparation
of Financial Statements&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company follows United States generally accepted
accounting principles (&#x201c;GAAP&#x201d;). The preparation of financial statements in conformity with GAAP requires management to make
estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent liabilities at the date
of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ
from these estimates.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The significant accounting policies described
below, together with the notes that follow, are an integral part of the consolidated financial statements.&lt;/p&gt;</rgr:PreparationOfFinancialStatementsPolicyTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock contextRef="c0" id="ixv-10133">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Principles
of Consolidation&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The consolidated financial statements include
the accounts of the Company and its wholly owned subsidiary. All significant intercompany accounts and transactions have been eliminated.&lt;/p&gt;</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:RevenueRecognitionPolicyTextBlock contextRef="c0" id="ixv-10142">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Revenue Recognition&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company recognizes revenue in accordance
with the provisions of Accounting Standards Codification Topic 606, Revenue from Contracts with Customers (&#x201c;ASC 606&#x201d;), which
became effective January 1, 2018. Substantially all product sales are sold FOB (free on board) shipping point. Customary payment terms
are 2% 30 days, net 40 days. Generally, all performance obligations are satisfied when product is shipped and the customer takes ownership
and assumes the risk of loss. In some instances, sales include multiple performance obligations. The most common of these instances relates
to sales promotion programs under which downstream customers are entitled to receive no charge products based on their purchases of certain
of the Company&#x2019;s products from the independent distributors. The fulfillment of these no charge products is the Company&#x2019;s
responsibility. In such instances, the Company allocates the revenue of the promotional sales based on the estimated level of participation
in the sales promotional program and the timing of the shipment of all of the firearms included in the promotional program, including
the no charge firearms. Revenue is recognized proportionally as each performance obligation is satisfied, based on the relative customary
price of each product. Customary prices are generally determined based on the prices charged to the independent distributors. The net
change in contract liabilities for a given period is reported as an increase or decrease to sales. The Company accounts for cash sales
discounts as a reduction in sales. Amounts billed to customers for shipping and handling fees are included in net sales and costs incurred
by the Company for the delivery of goods are classified as selling expenses. Federal excise taxes are excluded from net sales.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;</us-gaap:RevenueRecognitionPolicyTextBlock>
    <us-gaap:SharebasedCompensationEffectOnEarningsPerShare contextRef="c0" id="ixv-15524">Customary payment terms
are 2% 30 days</us-gaap:SharebasedCompensationEffectOnEarningsPerShare>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="c0" id="ixv-10163">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Cash and
Cash Equivalents&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company considers interest-bearing deposits
with financial institutions with remaining maturities of three months or less at the time of acquisition to be cash equivalents.&lt;/p&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock contextRef="c0" id="ixv-10171">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Fair Value
Measurements of Short-term Investments&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Fair value is defined as the price that would
be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants in the principal or
most advantageous market at the measurement date. Fair value is established according to a hierarchy that prioritizes observable and unobservable
inputs used to measure fair value into three broad levels, which are described below:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;Level 1: Unadjusted quoted prices in
active markets that are accessible at the measurement date for assets or liabilities. The fair value hierarchy gives the highest priority
to Level 1 inputs.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;Level 2: Observable prices that are
based on inputs not quoted on active markets, but corroborated by market data.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;Level 3: Unobservable inputs are used
when little or no market data is available. Level 3 inputs are given the lowest priority in the fair value hierarchy.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The asset or liability&#x2019;s fair value measurement
level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. Valuation
techniques used need to maximize the use of observable inputs and minimize the use of unobservable inputs.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;As
of December 31, 2023, the Company&#x2019;s short-term investments consist of U.S. Treasury instruments (Level 1), maturing within one year,
and &lt;/span&gt;investments in a bank-managed money market fund that invests exclusively in United States Treasury obligations and is valued
at the net asset value ("NAV") daily closing price, as reported by the fund, based on the amortized cost of the fund&#x2019;s
securities (Level 2)&lt;span style="font-family: Times New Roman, Times, Serif"&gt;. For the bank-managed money market fund, t&lt;/span&gt;he NAV
is used as a practical expedient to estimate fair value. This practical expedient is not used when it is determined to be probable that
the fund will sell the investment for an amount different than the reported NAV&lt;span style="font-family: Times New Roman, Times, Serif"&gt;.
Such securities are classified as held to maturity, since the Company has the intent and ability to do so, and are carried at cost plus
accrued interest, which approximates fair value.&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The fair value of inventory acquired as part of
business combination is based on a third-party valuation utilizing the comparable sales method which is based on Level 2 and Level 3 inputs.
The fair value of property, plant and equipment acquired as part of business combination is based on a third-party valuation utilizing
the indirect method of cost approach, which is based on Level 2 and Level 3 inputs. The fair value of patents acquired as part of business
combination is based on a third-party valuation utilizing the replacement cost method, which is based on Level 2 and Level 3 inputs. The
fair value of the remaining intangible assets as part of business combination are based on a third-party valuation utilizing discounted
cash flow methods that involves inputs, which are not observable in the market (Level 3).&lt;/p&gt;</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy contextRef="c0" id="ixv-10213">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="text-decoration:underline"&gt;Accounts Receivable&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company establishes an allowance for doubtful
accounts based on the creditworthiness of its customers and historical experience. While the Company uses the best information available
to make its evaluation, future adjustments to the allowance for doubtful accounts may be necessary if there are significant changes in
economic and industry conditions or any other factors considered in the Company&#x2019;s evaluation. Bad debt expense has been immaterial
during each of the last three years. The Company mitigates its credit risk by maintaining credit insurance on most of its significant
customers.&lt;/p&gt;</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <us-gaap:InventoryPolicyTextBlock contextRef="c0" id="ixv-10220">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Inventories&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Substantially all of the Company&#x2019;s inventories
are valued at the lower of cost, principally determined by the last-in, first-out (LIFO) method, or net realizable value. Elements of
cost in inventories include raw materials, direct labor and manufacturing overhead.&lt;/p&gt;</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="c0" id="ixv-10228">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Property,
Plant and Equipment&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Property, plant and equipment are carried at
cost. Depreciation is computed over useful lives using the straight-line and declining balance methods predominately over 15 years for
buildings, 7 years for machinery and equipment and 3 years for tools and dies. When assets are retired, sold or otherwise disposed of,
their gross carrying values and related accumulated depreciation are removed from the accounts and a gain or loss on such disposals is
recognized when appropriate.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Maintenance and repairs are charged to operations;
replacements and improvements are capitalized.&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c49" id="ixv-15525">P15Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c50" id="ixv-15526">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c51" id="ixv-15527">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock contextRef="c0" id="ixv-10239">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Long-lived Assets&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company evaluates the carrying value of long-lived
assets to be held and used when events or changes in circumstances indicate the carrying value may not be recoverable. In performing this
review, the carrying value of the assets is compared to the projected undiscounted cash flows to be generated from the assets. If the
sum of the undiscounted expected future cash flows is less than the carrying value of the assets, the assets are considered to be impaired.
Impairment losses are measured as the amount by which the carrying value of the assets exceeds their fair value. The Company bases fair
value of the assets on quoted market prices if available or, if not available, &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;quoted market prices of similar assets. Where quoted market
prices are not available, the Company estimates fair value using the estimated future cash flows generated by the assets discounted at
a rate commensurate with the risks associated with the recovery of the assets. As of December 31, 2023, the Company does not believe there
are any indications of impairment related to long-lived assets.&lt;/p&gt;</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy contextRef="c0" id="ixv-10259">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; color: #252525"&gt;&lt;span style="text-decoration:underline"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="color: #252525"&gt;The Company&#x2019;s
goodwill represents the excess of the purchase price of business combinations over the fair value of the net assets acquired. We assess
goodwill for impairment on an annual basis during the fourth quarter of each year, and between annual tests whenever events or changes
in circumstances indicate that the carrying amount may not be recoverable. An impairment exists by the amount the fair value of a reporting
unit to which goodwill has been allocated is less than their respective carrying values. The impairment for goodwill is limited to the
total amount of goodwill allocated to the reporting unit. Goodwill impairment testing requires significant judgment and management estimates,
including, but not limited to, the determination of (i)&#160;the number of reporting units, (ii)&#160;the goodwill and other assets and
liabilities to be allocated to the reporting units and (iii)&#160;the fair values of the reporting units. The estimates and assumptions
described above, along with other factors such as discount rates, will significantly affect the outcome of the impairment tests and the
amounts of any resulting impairment losses.&lt;/span&gt; As of December 31, 2023, the Company does not believe there are any indications of
impairment related to goodwill.&lt;/p&gt;</us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="c0" id="ixv-10267">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Income Taxes&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Income taxes are accounted for using the asset
and liability method. Under this method, deferred income taxes are recognized for the tax consequences of &#x201c;temporary differences&#x201d;
by applying enacted statutory rates applicable to future years to temporary differences between the financial statement carrying amounts
and the tax basis of the Company&#x2019;s assets and liabilities.&lt;/p&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:LiabilityReserveEstimatePolicy contextRef="c0" id="ixv-10275">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Product Liability&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company provides for product liability claims
including estimated legal costs to be incurred defending such claims. The provision for product liability claims is charged to cost of
products sold.&lt;/p&gt;</us-gaap:LiabilityReserveEstimatePolicy>
    <us-gaap:AdvertisingCostsPolicyTextBlock contextRef="c0" id="ixv-10283">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Advertising Costs&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company includes advertising costs in selling
expenses and these costs are expensed as incurred. Advertising costs for 2023, 2022, and 2021, were $3.1 million, $2.4 million, and $2.6
million, respectively.&lt;/p&gt;</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense contextRef="c0" decimals="-5" id="ixv-15528" unitRef="usd">3100000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense contextRef="c15" decimals="-5" id="ixv-15529" unitRef="usd">2400000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense contextRef="c16" decimals="-5" id="ixv-15530" unitRef="usd">2600000</us-gaap:AdvertisingExpense>
    <rgr:ShippingCostPolicyPolicyTextBlock contextRef="c0" id="ixv-10290">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Shipping
Costs&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Costs incurred related to the shipment of products
are included in selling expense. Such costs totaled $4.4 million, $4.7 million, and $4.2 million in 2023, 2022, and 2021, respectively.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;</rgr:ShippingCostPolicyPolicyTextBlock>
    <rgr:ShippingCosts contextRef="c0" decimals="-5" id="ixv-15531" unitRef="usd">4400000</rgr:ShippingCosts>
    <rgr:ShippingCosts contextRef="c15" decimals="-5" id="ixv-15532" unitRef="usd">4700000</rgr:ShippingCosts>
    <rgr:ShippingCosts contextRef="c16" decimals="-5" id="ixv-15533" unitRef="usd">4200000</rgr:ShippingCosts>
    <us-gaap:ResearchAndDevelopmentExpensePolicy contextRef="c0" id="ixv-10311">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Research and Development&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2023, 2022, and 2021, the Company spent approximately
$9.8 million, $9.6 million, and $11.7 million, respectively, on research and development activities relating to new products and the improvement
of existing products. These costs are included in costs of products sold and are expensed as incurred. These costs are capitalized for
tax purposes under the provisions of the Tax Cuts and Jobs Act of 2017 that relate to IRS Code Section 174, as discussed in Note 13.&lt;/p&gt;</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="c0" decimals="-5" id="ixv-15534" unitRef="usd">9800000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="c15" decimals="-5" id="ixv-15535" unitRef="usd">9600000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="c16" decimals="-5" id="ixv-15536" unitRef="usd">11700000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="c0" id="ixv-10318">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Earnings per Share&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Basic earnings per share is based upon the weighted-average
number of shares of common stock outstanding during the year. Diluted earnings per share reflect the impact of options, restricted stock
units, and deferred stock outstanding using the treasury stock method.&lt;/p&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="c0" id="ixv-10325">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Recent Accounting Pronouncements&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In November of 2023, the FASB issued ASU 2023-07,
&#x201c;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures.&#x201d; The updated accounting guidance requires
enhanced reportable segment disclosures, primarily related to significant segment expenses which are regularly provided to the chief operating
decision maker. The guidance is effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning
after December 15, 2024. Retrospective application is required and early adoption is permitted. The Company is currently evaluating the
effect the updated guidance will have on its financial statement disclosures.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In December of 2023, the FASB issued ASU 2023-09,
&#x201c;Income Taxes (Topic 740): Improvements to Income Tax Disclosures.&#x201d; The updated accounting guidance requires expanded income
tax disclosures, including the disaggregation of existing disclosures related to the effective tax rate reconciliation and income taxes
paid. The guidance is effective for fiscal years beginning after December 15, 2024. Prospective application is required, with retrospective
application permitted. The Company is currently evaluating the effect the updated guidance will have on its financial statement disclosures.&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="c0" id="ixv-10337">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;&lt;b&gt;2.&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Revenue Recognition and Contracts with Customers&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The impact of ASC 60&lt;span style="font-family: Times New Roman, Times, Serif"&gt;6
on revenue recognized during the years ended December 31, 2023, December 31, 2022, and&lt;/span&gt; December 31, 2021 is as follows:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="color: Black; font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="color: Black; font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="color: Black; font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="color: Black; font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2022&lt;/td&gt;&lt;td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2021&lt;/td&gt;&lt;td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 61%; text-align: left; text-indent: -0.3in; padding-left: 0.3in"&gt;Contract liabilities with customers at January 1,&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;1,031&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-17"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;84&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; text-indent: -0.3in; padding-left: 0.3in"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 0pt"&gt;Revenue recognized&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(4,084&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-18"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(84&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-left: 0.3in"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Revenue deferred&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,202&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,031&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-19"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; text-indent: -0.3in; padding-left: 0.3in"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -0.3in; padding-left: 0.3in"&gt;Contract liabilities with customers at December 31,&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;149&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,031&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-20"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During the year ended December 31, 2023, the Company
deferred $3.2 million of revenue, offset by the recognition of $4.1 million of revenue previously deferred as the performance obligations
relating to the shipment of free products were satisfied. This resulted in a net increase in firearms sales for the year ended December
31, 2023 of $0.9 million and a deferred contract revenue liability at December 31, 2023 of $0.1 million. The Company estimates that revenue
from this deferred contract liability will be recognized in the first quarter of 2024.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During the year ended December 31, 2022, the Company
deferred $1.0 million of revenue. There was no offset for the recognition from previously deferred revenue as the Company did not satisfy
any performance obligations relating to the shipment of free products during the year. This resulted in a net decrease in firearms sales
for the year ended December 31, 2022 of $1.0 million and a deferred contract revenue liability at December 31, 2022 of $1.0 million.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During the year ended December 31, 2021, there
were no promotions giving rise to deferred contract liabilities and, therefore, there was no additional deferred revenue. Previously deferred
revenue of $0.1 million was recognized in the first quarter of 2021. The Company did not have a deferred contract revenue liability at
December 31, 2021.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Practical Expedients and Exemptions&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company has elected to account for shipping
and handling activities that occur after control of the related product transfers to the customer as fulfillment activities that are recognized
upon shipment of the goods.&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <rgr:RevenueRecognitionMultipledeliverableArrangementsTableTextBlock contextRef="c0" id="ixv-10347">The impact of ASC 60&lt;span style="font-family: Times New Roman, Times, Serif"&gt;6
on revenue recognized during the years ended December 31, 2023, December 31, 2022, and&lt;/span&gt; December 31, 2021 is as follows:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="color: Black; font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="color: Black; font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="color: Black; font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="color: Black; font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2022&lt;/td&gt;&lt;td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2021&lt;/td&gt;&lt;td style="color: Black; font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 61%; text-align: left; text-indent: -0.3in; padding-left: 0.3in"&gt;Contract liabilities with customers at January 1,&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;1,031&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-17"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;84&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; text-indent: -0.3in; padding-left: 0.3in"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 0pt"&gt;Revenue recognized&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(4,084&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-18"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(84&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-left: 0.3in"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Revenue deferred&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,202&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,031&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-19"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; text-indent: -0.3in; padding-left: 0.3in"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -0.3in; padding-left: 0.3in"&gt;Contract liabilities with customers at December 31,&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;149&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,031&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-20"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;</rgr:RevenueRecognitionMultipledeliverableArrangementsTableTextBlock>
    <us-gaap:ContractWithCustomerLiability contextRef="c4" decimals="-3" id="ixv-15537" unitRef="usd">1031000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability contextRef="c21" decimals="-3" id="ixv-15538" unitRef="usd">84000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:DeferredRevenueRevenueRecognized1 contextRef="c0" decimals="-3" id="ixv-15539" unitRef="usd">4084000</us-gaap:DeferredRevenueRevenueRecognized1>
    <us-gaap:DeferredRevenueRevenueRecognized1 contextRef="c16" decimals="-3" id="ixv-15540" unitRef="usd">84000</us-gaap:DeferredRevenueRevenueRecognized1>
    <rgr:RevenueDeferred contextRef="c0" decimals="-3" id="ixv-15541" unitRef="usd">3202000</rgr:RevenueDeferred>
    <rgr:RevenueDeferred contextRef="c15" decimals="-3" id="ixv-15542" unitRef="usd">1031000</rgr:RevenueDeferred>
    <us-gaap:ContractWithCustomerLiability contextRef="c3" decimals="-3" id="ixv-15543" unitRef="usd">149000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability contextRef="c4" decimals="-3" id="ixv-15544" unitRef="usd">1031000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:DeferredRevenueAdditions contextRef="c0" decimals="-5" id="ixv-15545" unitRef="usd">3200000</us-gaap:DeferredRevenueAdditions>
    <us-gaap:DeferredRevenueRevenueRecognized1 contextRef="c52" decimals="-5" id="ixv-15546" unitRef="usd">4100000</us-gaap:DeferredRevenueRevenueRecognized1>
    <us-gaap:IncreaseDecreaseInDeferredRevenue contextRef="c0" decimals="-5" id="ixv-15547" unitRef="usd">900000</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c3" decimals="-5" id="ixv-15548" unitRef="usd">100000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:DeferredRevenueAdditions contextRef="c15" decimals="-5" id="ixv-15549" unitRef="usd">1000000</us-gaap:DeferredRevenueAdditions>
    <us-gaap:IncreaseDecreaseInDeferredRevenue contextRef="c15" decimals="-5" id="ixv-15550" unitRef="usd">-1000000</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c4" decimals="-5" id="ixv-15551" unitRef="usd">1000000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:DeferredRevenueRevenueRecognized1 contextRef="c53" decimals="-5" id="ixv-15552" unitRef="usd">100000</us-gaap:DeferredRevenueRevenueRecognized1>
    <us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock contextRef="c0" id="ixv-10492">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;&lt;b&gt;3.&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Trade Receivables, Net&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Trade receivables consist of the following:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap"&gt;December 31,&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap; font-weight: bold; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left"&gt;Trade receivables&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;61,428&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;67,183&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Allowance for doubtful accounts&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(400&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(400&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Allowance for discounts&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,164&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,334&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;59,864&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;65,449&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2023, the largest individual trade receivable
balances accounted for 22%, 20%, and 17% of total trade receivables, respectively.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2022, the largest individual trade receivable
balances accounted for 26%, 23%, and 18% of total trade receivables, respectively.&lt;/p&gt;</us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock contextRef="c0" id="ixv-15553">Trade receivables consist of the following:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap"&gt;December 31,&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap; font-weight: bold; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left"&gt;Trade receivables&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;61,428&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;67,183&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Allowance for doubtful accounts&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(400&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(400&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Allowance for discounts&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,164&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,334&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;59,864&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;65,449&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent contextRef="c3" decimals="-3" id="ixv-15554" unitRef="usd">61428000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent contextRef="c4" decimals="-3" id="ixv-15555" unitRef="usd">67183000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c3" decimals="-3" id="ixv-15556" unitRef="usd">400000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c4" decimals="-3" id="ixv-15557" unitRef="usd">400000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <rgr:AllowanceForDiscountsAccountsReceivableCurrent contextRef="c3" decimals="-3" id="ixv-15558" unitRef="usd">1164000</rgr:AllowanceForDiscountsAccountsReceivableCurrent>
    <rgr:AllowanceForDiscountsAccountsReceivableCurrent contextRef="c4" decimals="-3" id="ixv-15559" unitRef="usd">1334000</rgr:AllowanceForDiscountsAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c3" decimals="-3" id="ixv-15560" unitRef="usd">59864000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c4" decimals="-3" id="ixv-15561" unitRef="usd">65449000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c54"
      decimals="INF"
      id="ixv-15562"
      unitRef="pure">0.22</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c55"
      decimals="INF"
      id="ixv-15563"
      unitRef="pure">0.20</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c56"
      decimals="INF"
      id="ixv-15564"
      unitRef="pure">0.17</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c57"
      decimals="INF"
      id="ixv-15565"
      unitRef="pure">0.26</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c58"
      decimals="INF"
      id="ixv-15566"
      unitRef="pure">0.23</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c59"
      decimals="INF"
      id="ixv-15567"
      unitRef="pure">0.18</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:InventoryDisclosureTextBlock contextRef="c0" id="ixv-10579">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;&lt;b&gt;4.&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;b&gt;Inventories&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Inventories consist of the following:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap"&gt;December 31,&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2022&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: normal; text-align: justify"&gt;Inventory at FIFO&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 74%; text-align: left; padding-left: 21.8pt"&gt;Finished goods&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;30,989&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;23,573&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid; padding-left: 21.8pt"&gt;Materials and products in process&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;119,203&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;105,721&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gross inventories&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;150,192&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;129,294&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 21.8pt"&gt;Less:&#160;&#160;LIFO reserve&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(64,262&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(59,489&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid; padding-left: 21.8pt"&gt;Less:&#160;&#160;excess and obsolescence reserve&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(6,120&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(4,812&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Net inventories&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;79,810&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;64,993&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="c0" id="ixv-15568">Inventories consist of the following:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap"&gt;December 31,&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2022&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: normal; text-align: justify"&gt;Inventory at FIFO&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 74%; text-align: left; padding-left: 21.8pt"&gt;Finished goods&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;30,989&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;23,573&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid; padding-left: 21.8pt"&gt;Materials and products in process&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;119,203&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;105,721&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gross inventories&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;150,192&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;129,294&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 21.8pt"&gt;Less:&#160;&#160;LIFO reserve&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(64,262&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(59,489&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid; padding-left: 21.8pt"&gt;Less:&#160;&#160;excess and obsolescence reserve&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(6,120&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(4,812&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Net inventories&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;79,810&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;64,993&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryFinishedGoods contextRef="c3" decimals="-3" id="ixv-15569" unitRef="usd">30989000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods contextRef="c4" decimals="-3" id="ixv-15570" unitRef="usd">23573000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryWorkInProcessAndRawMaterials contextRef="c3" decimals="-3" id="ixv-15571" unitRef="usd">119203000</us-gaap:InventoryWorkInProcessAndRawMaterials>
    <us-gaap:InventoryWorkInProcessAndRawMaterials contextRef="c4" decimals="-3" id="ixv-15572" unitRef="usd">105721000</us-gaap:InventoryWorkInProcessAndRawMaterials>
    <us-gaap:InventoryGross contextRef="c3" decimals="-3" id="ixv-15573" unitRef="usd">150192000</us-gaap:InventoryGross>
    <us-gaap:InventoryGross contextRef="c4" decimals="-3" id="ixv-15574" unitRef="usd">129294000</us-gaap:InventoryGross>
    <us-gaap:InventoryLIFOReserve contextRef="c3" decimals="-3" id="ixv-15575" unitRef="usd">64262000</us-gaap:InventoryLIFOReserve>
    <us-gaap:InventoryLIFOReserve contextRef="c4" decimals="-3" id="ixv-15576" unitRef="usd">59489000</us-gaap:InventoryLIFOReserve>
    <us-gaap:InventoryValuationReserves contextRef="c3" decimals="-3" id="ixv-15577" unitRef="usd">6120000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves contextRef="c4" decimals="-3" id="ixv-15578" unitRef="usd">4812000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet contextRef="c3" decimals="-3" id="ixv-15579" unitRef="usd">79810000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="c4" decimals="-3" id="ixv-15580" unitRef="usd">64993000</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="c0" id="ixv-10673">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;&lt;b&gt;5.&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Property, Plant and Equipment&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Property, plant and equipment consist of the following:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap"&gt;December 31,&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2022&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap; font-weight: bold; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left"&gt;Land and improvements&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;2,826&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;2,826&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Buildings and improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;74,650&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;72,788&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Machinery and equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;322,730&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;314,032&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Dies and tools&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;62,191&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;57,480&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Property, plant and equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;462,397&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;447,126&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Less allowances for depreciation&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(390,863&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(370,273&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Net property, plant and equipment&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;71,534&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;76,853&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Depreciation expense totaled $21.1 million, $24.4
million, and $25.8 million in 2023, 2022, and 2021, respectively.&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="c0" id="ixv-15581">Property, plant and equipment consist of the following:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap"&gt;December 31,&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2022&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap; font-weight: bold; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left"&gt;Land and improvements&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;2,826&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;2,826&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Buildings and improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;74,650&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;72,788&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Machinery and equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;322,730&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;314,032&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Dies and tools&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;62,191&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;57,480&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Property, plant and equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;462,397&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;447,126&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Less allowances for depreciation&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(390,863&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(370,273&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Net property, plant and equipment&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;71,534&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;76,853&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c60" decimals="-3" id="ixv-15582" unitRef="usd">2826000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c61" decimals="-3" id="ixv-15583" unitRef="usd">2826000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c62" decimals="-3" id="ixv-15584" unitRef="usd">74650000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c63" decimals="-3" id="ixv-15585" unitRef="usd">72788000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c50" decimals="-3" id="ixv-15586" unitRef="usd">322730000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c64" decimals="-3" id="ixv-15587" unitRef="usd">314032000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c51" decimals="-3" id="ixv-15588" unitRef="usd">62191000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c65" decimals="-3" id="ixv-15589" unitRef="usd">57480000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c3" decimals="-3" id="ixv-15590" unitRef="usd">462397000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c4" decimals="-3" id="ixv-15591" unitRef="usd">447126000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="c3" decimals="-3" id="ixv-15592" unitRef="usd">390863000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="c4" decimals="-3" id="ixv-15593" unitRef="usd">370273000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c3" decimals="-3" id="ixv-15594" unitRef="usd">71534000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c4" decimals="-3" id="ixv-15595" unitRef="usd">76853000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation contextRef="c0" decimals="-5" id="ixv-15596" unitRef="usd">21100000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c15" decimals="-5" id="ixv-15597" unitRef="usd">24400000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c16" decimals="-5" id="ixv-15598" unitRef="usd">25800000</us-gaap:Depreciation>
    <us-gaap:OtherAssetsDisclosureTextBlock contextRef="c0" id="ixv-10778">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;&lt;b&gt;6.&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Other Assets&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Other assets consist of the following:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2022&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap; font-weight: bold; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left"&gt;Patents, at cost&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;10,280&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;10,126&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-left: 14.8pt"&gt;Accumulated amortization&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(7,171&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(6,318&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deposits on capital items&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;23,045&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,106&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Marlin trade name&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,800&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,800&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;Other&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;9,958&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;11,249&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;43,912&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;39,963&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The capitalized cost of patents is amortized
using the straight-line method over their useful lives. Expenses related to patent amortization was $0.4 million in 2023, $0.4 million
in 2022, and $0.3 million in 2021. The estimated annual patent amortization expense for each of the next five years is $0.3 million.
Costs incurred to maintain existing patents are charged to expense in the year incurred. The Marlin trade name will be amortized using
the straight-line method over its useful life. The estimated annual trade name amortization cost for each of the next five years is $0.4
million. The intangible asset related to Marlin customer relationships are included in Other above and will be amortized using the straight-line
method over its useful life. The estimated annual customer relationship name amortization expense for each of the next five years is
$0.1 million.&lt;/p&gt;</us-gaap:OtherAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfOtherAssetsTableTextBlock contextRef="c0" id="ixv-15599">Other assets consist of the following:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2022&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap; font-weight: bold; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left"&gt;Patents, at cost&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;10,280&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;10,126&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-left: 14.8pt"&gt;Accumulated amortization&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(7,171&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(6,318&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deposits on capital items&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;23,045&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,106&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Marlin trade name&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,800&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,800&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;Other&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;9,958&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;11,249&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;43,912&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;39,963&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfOtherAssetsTableTextBlock>
    <us-gaap:FiniteLivedPatentsGross contextRef="c3" decimals="-3" id="ixv-15600" unitRef="usd">10280000</us-gaap:FiniteLivedPatentsGross>
    <us-gaap:FiniteLivedPatentsGross contextRef="c4" decimals="-3" id="ixv-15601" unitRef="usd">10126000</us-gaap:FiniteLivedPatentsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c3" decimals="-3" id="ixv-15602" unitRef="usd">7171000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c4" decimals="-3" id="ixv-15603" unitRef="usd">6318000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:DepositAssets contextRef="c3" decimals="-3" id="ixv-15604" unitRef="usd">23045000</us-gaap:DepositAssets>
    <us-gaap:DepositAssets contextRef="c4" decimals="-3" id="ixv-15605" unitRef="usd">17106000</us-gaap:DepositAssets>
    <us-gaap:FiniteLivedTradeNamesGross contextRef="c3" decimals="-3" id="ixv-15606" unitRef="usd">7800000</us-gaap:FiniteLivedTradeNamesGross>
    <us-gaap:FiniteLivedTradeNamesGross contextRef="c4" decimals="-3" id="ixv-15607" unitRef="usd">7800000</us-gaap:FiniteLivedTradeNamesGross>
    <us-gaap:OtherAssetsMiscellaneous contextRef="c3" decimals="-3" id="ixv-15608" unitRef="usd">9958000</us-gaap:OtherAssetsMiscellaneous>
    <us-gaap:OtherAssetsMiscellaneous contextRef="c4" decimals="-3" id="ixv-15609" unitRef="usd">11249000</us-gaap:OtherAssetsMiscellaneous>
    <us-gaap:OtherAssetsNoncurrent contextRef="c3" decimals="-3" id="ixv-15610" unitRef="usd">43912000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent contextRef="c4" decimals="-3" id="ixv-15611" unitRef="usd">39963000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c0" decimals="-5" id="ixv-15612" unitRef="usd">400000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c15" decimals="-5" id="ixv-15613" unitRef="usd">400000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c16" decimals="-5" id="ixv-15614" unitRef="usd">300000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive contextRef="c3" decimals="-5" id="ixv-15615" unitRef="usd">300000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths contextRef="c66" decimals="-5" id="ixv-15616" unitRef="usd">400000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo contextRef="c66" decimals="-5" id="ixv-15617" unitRef="usd">400000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree contextRef="c66" decimals="-5" id="ixv-15618" unitRef="usd">400000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour contextRef="c66" decimals="-5" id="ixv-15619" unitRef="usd">400000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive contextRef="c66" decimals="-5" id="ixv-15620" unitRef="usd">400000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths contextRef="c67" decimals="-5" id="ixv-15621" unitRef="usd">100000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo contextRef="c67" decimals="-5" id="ixv-15622" unitRef="usd">100000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree contextRef="c67" decimals="-5" id="ixv-15623" unitRef="usd">100000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour contextRef="c67" decimals="-5" id="ixv-15624" unitRef="usd">100000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive contextRef="c67" decimals="-5" id="ixv-15625" unitRef="usd">100000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:LesseeOperatingLeasesTextBlock contextRef="c0" id="ixv-10882">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;&lt;b&gt;7.&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Leased Assets&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company leases certain of its real estate
and equipment. The Company has evaluated all its leases and determined that all are operating leases under the definitions of the guidance
of ASU 2016-02. The Company&#x2019;s lease agreements generally do not require material variable lease payments, residual value guarantees
or restrictive covenants.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company uses the effective interest method
to record right-of-use assets equal to the present value of the contractual liability for future lease payments. The table below presents
the right-of-use assets and related lease liabilities recognized on the condensed consolidated balance sheet as of December 31, 2023:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;Balance Sheet Line &lt;br/&gt;
Item&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;December 31, &lt;br/&gt;
2023&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;December 31, &lt;br/&gt;
2022&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 49%; text-align: left"&gt;Right-of-use assets&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 20%; text-align: center"&gt;Other assets&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;2,781&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;3,681&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 0pt"&gt;Operating lease liabilities&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 20pt; vertical-align: top; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt; vertical-align: top; text-align: left"&gt;Current portion&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;Trade accounts payable and accrued expenses&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;611&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;642&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 20pt"&gt;Noncurrent portion&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center; text-indent: 5.3pt"&gt;Lease liabilities&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,170&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,039&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 18.55pt"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 2.5pt double"&gt;Total operating lease liabilities&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right; border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,781&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;3,681&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The depreciable lives of right-of-use assets are
limited by the lease term and are amortized on a straight line basis over the life of the lease.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company&#x2019;s leases generally do not provide
an implicit interest rate, and therefore the Company calculates an incremental borrowing rate to determine the present value of its operating
lease liabilities. The following table reconciles the undiscounted future minimum lease payments to the total operating lease liabilities
recognized on the condensed consolidated balance sheet as of December 31, 2023:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; width: 85%; text-align: left; padding-left: 30.75pt"&gt;2024&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;808&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt"&gt;2025&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;702&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt"&gt;2026&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;705&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt"&gt;2027&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;229&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt"&gt;2028&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;160&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 30.75pt; vertical-align: bottom"&gt;Thereafter&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;960&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt"&gt;Total undiscounted future minimum lease payments&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,564&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-bottom: 1pt; text-indent: -22.5pt; padding-left: 53.25pt"&gt;Less: Difference between undiscounted lease payments &amp;amp; the present value of future lease payments&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(783&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-bottom: 2.5pt; padding-left: 30.75pt"&gt;Total operating lease liabilities&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,781&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Certain of the Company&#x2019;s lease agreements
contain renewal options at the Company&#x2019;s discretion. The Company does not recognize right-of-use assets or lease liabilities for
leases of one year or less or for renewal periods unless it is reasonably certain that the Company will exercise the renewal option at
the inception of the lease or when a triggering event occurs. The Company&#x2019;s weighted average remaining lease term for operating
leases as of December 31, 2023 is 7.9 years.&lt;/p&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <rgr:ScheduleOfFutureMinimumLeasePaymentsTableTextBlock contextRef="c0" id="ixv-15626">The table below presents
the right-of-use assets and related lease liabilities recognized on the condensed consolidated balance sheet as of December 31, 2023:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;Balance Sheet Line &lt;br/&gt;
Item&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;December 31, &lt;br/&gt;
2023&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;December 31, &lt;br/&gt;
2022&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 49%; text-align: left"&gt;Right-of-use assets&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 20%; text-align: center"&gt;Other assets&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;2,781&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;3,681&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 0pt"&gt;Operating lease liabilities&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 20pt; vertical-align: top; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 20pt; vertical-align: top; text-align: left"&gt;Current portion&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;Trade accounts payable and accrued expenses&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;611&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;642&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 20pt"&gt;Noncurrent portion&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center; text-indent: 5.3pt"&gt;Lease liabilities&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,170&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,039&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 18.55pt"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 2.5pt double"&gt;Total operating lease liabilities&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right; border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,781&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;3,681&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</rgr:ScheduleOfFutureMinimumLeasePaymentsTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c68" decimals="-3" id="ixv-15627" unitRef="usd">2781000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c69" decimals="-3" id="ixv-15628" unitRef="usd">3681000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c70" decimals="-3" id="ixv-15629" unitRef="usd">611000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c71" decimals="-3" id="ixv-15630" unitRef="usd">642000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent contextRef="c72" decimals="-3" id="ixv-15631" unitRef="usd">2170000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent contextRef="c73" decimals="-3" id="ixv-15632" unitRef="usd">3039000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <rgr:TotalOperatingLeaseLiabilities contextRef="c3" decimals="-3" id="ixv-15633" unitRef="usd">2781000</rgr:TotalOperatingLeaseLiabilities>
    <rgr:TotalOperatingLeaseLiabilities contextRef="c4" decimals="-3" id="ixv-15634" unitRef="usd">3681000</rgr:TotalOperatingLeaseLiabilities>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="c0" id="ixv-15635">The following table reconciles the undiscounted future minimum lease payments to the total operating lease liabilities
recognized on the condensed consolidated balance sheet as of December 31, 2023:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; width: 85%; text-align: left; padding-left: 30.75pt"&gt;2024&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;808&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt"&gt;2025&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;702&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt"&gt;2026&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;705&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt"&gt;2027&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;229&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt"&gt;2028&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;160&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 30.75pt; vertical-align: bottom"&gt;Thereafter&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;960&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-left: 30.75pt"&gt;Total undiscounted future minimum lease payments&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,564&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-bottom: 1pt; text-indent: -22.5pt; padding-left: 53.25pt"&gt;Less: Difference between undiscounted lease payments &amp;amp; the present value of future lease payments&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(783&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-bottom: 2.5pt; padding-left: 30.75pt"&gt;Total operating lease liabilities&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,781&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths contextRef="c74" decimals="-3" id="ixv-15636" unitRef="usd">808000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo contextRef="c74" decimals="-3" id="ixv-15637" unitRef="usd">702000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree contextRef="c74" decimals="-3" id="ixv-15638" unitRef="usd">705000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive contextRef="c74" decimals="-3" id="ixv-15639" unitRef="usd">229000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour contextRef="c74" decimals="-3" id="ixv-15640" unitRef="usd">160000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive contextRef="c74" decimals="-3" id="ixv-15641" unitRef="usd">960000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue contextRef="c74" decimals="-3" id="ixv-15642" unitRef="usd">3564000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount contextRef="c74" decimals="-3" id="ixv-15643" unitRef="usd">783000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability contextRef="c74" decimals="-3" id="ixv-15644" unitRef="usd">2781000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="c3" id="ixv-15645">P7Y10M24D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock contextRef="c0" id="ixv-11109">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;&lt;b&gt;8.&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Trade Accounts Payable and Accrued Expenses&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Trade accounts payable and accrued expenses consist
of the following:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap"&gt;December 31,&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2022&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap; font-weight: bold; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 70%; text-align: left"&gt;Trade accounts payable&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;11,100&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;13,281&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Federal excise taxes payable&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,954&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;13,635&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Accrued other&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;8,654&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;8,742&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;31,708&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;35,658&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock contextRef="c0" id="ixv-15646">Trade accounts payable and accrued expenses consist
of the following:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap"&gt;December 31,&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2022&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap; font-weight: bold; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 70%; text-align: left"&gt;Trade accounts payable&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;11,100&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;13,281&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Federal excise taxes payable&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,954&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;13,635&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Accrued other&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;8,654&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;8,742&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;31,708&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;35,658&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock>
    <us-gaap:AccountsPayableTradeCurrent contextRef="c3" decimals="-3" id="ixv-15647" unitRef="usd">11100000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:AccountsPayableTradeCurrent contextRef="c4" decimals="-3" id="ixv-15648" unitRef="usd">13281000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent contextRef="c3" decimals="-3" id="ixv-15649" unitRef="usd">11954000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent contextRef="c4" decimals="-3" id="ixv-15650" unitRef="usd">13635000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:OtherAccountsPayableAndAccruedLiabilities contextRef="c3" decimals="-3" id="ixv-15651" unitRef="usd">8654000</us-gaap:OtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:OtherAccountsPayableAndAccruedLiabilities contextRef="c4" decimals="-3" id="ixv-15652" unitRef="usd">8742000</us-gaap:OtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent contextRef="c3" decimals="-3" id="ixv-15653" unitRef="usd">31708000</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent contextRef="c4" decimals="-3" id="ixv-15654" unitRef="usd">35658000</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock contextRef="c0" id="ixv-11182">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;&lt;b&gt;9.&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Accrued Dividends&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On November 30, 2022, the Company&#x2019;s Board
of Directors declared a $5.00 per share special dividend payable on January 5, 2023 to stockholders of record as of December 15, 2022.
The dividend, which totaled $88.3 million, was paid on January 5, 2023.&lt;/p&gt;</us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock>
    <us-gaap:DividendsPayableAmountPerShare
      contextRef="c75"
      decimals="4"
      id="ixv-15655"
      unitRef="usdPershares">0.05</us-gaap:DividendsPayableAmountPerShare>
    <us-gaap:DividendsPayableCurrentAndNoncurrent contextRef="c76" decimals="-5" id="ixv-15656" unitRef="usd">88300000</us-gaap:DividendsPayableCurrentAndNoncurrent>
    <rgr:LineOfCreditFacilitiesTextBlock contextRef="c0" id="ixv-11195">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;&lt;b&gt;10.&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Line of Credit&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During 2021 the Company had a &lt;span style="font-size: 10pt"&gt;$40
million&lt;/span&gt; unsecured revolving line of credit with a bank. This facility terminated on September 30, 2021. On January 7, 2022, the
Company entered into a new $40 million unsecured revolving line of credit agreement with a different bank that expires January 7, 2025.
Borrowings under this new facility bear interest at either 1) the Bloomberg short-Term Bank Yield Index &#x2013; 1 month plus 150 basis
points, or 2) a fluctuating rate per annum equal to the greater of (i) the Bank&#x2019;s prime rate or (ii) the federal funds rate plus
50 basis points. The Company is also charged one-quarter of a percent (0.25%) per year on the unused portion. At December 31, 2023, the
Company was in compliance with the terms and covenants of the credit facility.&lt;/p&gt;</rgr:LineOfCreditFacilitiesTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c77" decimals="-6" id="ixv-15657" unitRef="usd">40000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c78" decimals="-6" id="ixv-15658" unitRef="usd">40000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityExpirationDate1 contextRef="c79" id="ixv-15659">2025-01-07</us-gaap:LineOfCreditFacilityExpirationDate1>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
      contextRef="c80"
      decimals="INF"
      id="ixv-15660"
      unitRef="pure">0.0025</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock contextRef="c0" id="ixv-11219">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;&lt;b&gt;11.&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;b&gt;Employee Benefit Plans&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company sponsors a qualified defined-contribution
401(k) plan that covers substantially all of its employees. Under the terms of the 401(k) plan, the Company matches a certain portion
of employee contributions to their individual 401(k) accounts using the &#x201c;safe harbor&#x201d; guidelines provided in the Internal
Revenue Code. Expenses related to matching employee contributions to the 401(k) plan were $4.7 million, $4.1 million, and $4.0 million
in 2023, 2022, and 2021, respectively.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Additionally, in 2023, 2022, and 2021 the Company
provided discretionary supplemental contributions to the individual 401(k) accounts of substantially all employees. Each employee received
a supplemental contribution to their account based on a uniform percentage of qualifying compensation established annually. The cost of
these supplemental contributions totaled $6.9 million, $7.4 million, and $7.4 million in 2023, 2022, and 2021, respectively.&lt;/p&gt;</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:DefinedContributionPlanAdministrativeExpenses contextRef="c0" decimals="-5" id="ixv-15661" unitRef="usd">4700000</us-gaap:DefinedContributionPlanAdministrativeExpenses>
    <us-gaap:DefinedContributionPlanAdministrativeExpenses contextRef="c15" decimals="-5" id="ixv-15662" unitRef="usd">4100000</us-gaap:DefinedContributionPlanAdministrativeExpenses>
    <us-gaap:DefinedContributionPlanAdministrativeExpenses contextRef="c16" decimals="-5" id="ixv-15663" unitRef="usd">4000000</us-gaap:DefinedContributionPlanAdministrativeExpenses>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="c0" decimals="-5" id="ixv-15664" unitRef="usd">6900000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="c15" decimals="-5" id="ixv-15665" unitRef="usd">7400000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="c16" decimals="-5" id="ixv-15666" unitRef="usd">7400000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock contextRef="c0" id="ixv-11235">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;&lt;b&gt;12.&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;b&gt;Other Operating Income, Net&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Other operating income, net consists of the following:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap"&gt;Year ended December 31,&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2022&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2021&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 55%"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Gain on sale of operating assets&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;5&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;36&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;127&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock>
    <rgr:OtherIncomeAndExpensesTableTextBlock contextRef="c0" id="ixv-15667">Other operating income, net consists of the following:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap"&gt;Year ended December 31,&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2022&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2021&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 55%"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Gain on sale of operating assets&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;5&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;36&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;127&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</rgr:OtherIncomeAndExpensesTableTextBlock>
    <us-gaap:GainLossOnSaleOfOtherAssets contextRef="c0" decimals="-3" id="ixv-15668" unitRef="usd">5000</us-gaap:GainLossOnSaleOfOtherAssets>
    <us-gaap:GainLossOnSaleOfOtherAssets contextRef="c15" decimals="-3" id="ixv-15669" unitRef="usd">36000</us-gaap:GainLossOnSaleOfOtherAssets>
    <us-gaap:GainLossOnSaleOfOtherAssets contextRef="c16" decimals="-3" id="ixv-15670" unitRef="usd">127000</us-gaap:GainLossOnSaleOfOtherAssets>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="c0" id="ixv-11292">&lt;table border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif"&gt;
&lt;tr style="vertical-align: top"&gt;
  &lt;td style="text-align: justify; width: 0.5in"&gt;&lt;b&gt;13.&lt;/b&gt;&lt;/td&gt;
  &lt;td style="text-align: justify"&gt;&lt;b&gt;Income Taxes &lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;


&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company files income tax returns in the U.S.
federal jurisdiction and various state jurisdictions. With few exceptions, the Company is no longer subject to U.S. federal and state
income tax examinations by tax authorities for years before 2017.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The federal and state income tax provision consisted of the following:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap"&gt;Year ended December 31,&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Current&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Deferred&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Current&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Deferred&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Current&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Deferred&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 34%"&gt;Federal&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 8%; text-align: right"&gt;14,763&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 8%; text-align: right"&gt;(5,285&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 8%; text-align: right"&gt;21,741&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 8%; text-align: right"&gt;(4,694&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 8%; text-align: right"&gt;42,422&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 8%; text-align: right"&gt;863&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;State&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,713&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(582&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,779&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(879&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;7,279&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;131&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;16,476&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(5,867&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;25,520&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(5,573&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;49,701&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;994&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The effective income tax rate varied from the statutory federal income
tax rate as follows:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap"&gt;Year ended December 31,&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2022&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2021&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 61%; text-align: left; text-indent: -13.75pt; padding-left: 13.75pt"&gt;Statutory federal income tax rate&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;21.0%&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;21.0%&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;21.0%&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; text-indent: -13.75pt; padding-left: 13.75pt"&gt;State income taxes, net of federal tax benefit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2.2&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2.7&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3.4&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Research and development tax credits&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(2.7&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(4.2&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(0.4&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-indent: -13.75pt; padding-left: 13.75pt"&gt;Other&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(2.5&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1.1&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.5&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -13.75pt; padding-left: 13.75pt"&gt;Effective income tax rate&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;18.0%&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;18.4%&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;24.5%&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company estimates that its effective tax rate
in 2024 will approximate 21%.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Significant components of the Company&#x2019;s
deferred tax assets and liabilities are as follows:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap"&gt;December 31,&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2022&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;Deferred tax assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left; padding-left: 22.5pt"&gt;Capitalized research and development costs&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;9,144&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;4,838&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-left: 22.5pt"&gt;Employee compensation and benefits&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,452&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,316&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 22.5pt"&gt;Allowances for doubtful accounts and discounts&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;431&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;637&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 22.5pt"&gt;Inventories&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,635&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,196&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 22.5pt"&gt;Stock-based compensation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,698&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,661&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 22.5pt"&gt;Other&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,608&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,705&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Total deferred tax assets&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;16,968&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;12,353&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;Deferred tax liabilities:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-indent: -4.5pt; padding-left: 27pt"&gt;Depreciation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,578&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,070&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-indent: -4.5pt; padding-left: 27pt"&gt;Other&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,414&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,174&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Total deferred tax liabilities&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;4,992&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;6,244&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Net deferred tax assets&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;11,976&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;6,109&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Prior to 2022, the Company expensed research and
development costs in the period in which they were incurred for both financial accounting and income tax purposes. In 2022 the Company
adopted the provisions of the Tax Cuts and Jobs Act of 2017 that relate to IRS Code Section 174. Under these provisions, research and
development costs must be capitalized and amortized over five years for income tax purposes. The Company continues to expense these costs
in the period incurred for financial accounting purposes.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company made income tax payments of approximately
$26.0 million, $28.7 million, and $49.5 million, during 2023, 2022, and 2021, respectively. The Company expects to realize its deferred
tax assets through tax deductions against future taxable income&lt;i&gt;. &lt;/i&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company does not believe it has included any
&#x201c;uncertain tax positions&#x201d; in its federal income tax return or any of the state income tax returns it is currently filing.
The Company has made an evaluation of the potential impact of additional state taxes being assessed by jurisdictions in which the Company
does not currently consider itself liable. The Company does not anticipate that such additional taxes, if any, would result in a material
change to its financial position.&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:FederalIncomeTaxNoteTextBlock contextRef="c0" id="ixv-15671">The federal and state income tax provision consisted of the following:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap"&gt;Year ended December 31,&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Current&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Deferred&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Current&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Deferred&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Current&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;Deferred&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 34%"&gt;Federal&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 8%; text-align: right"&gt;14,763&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 8%; text-align: right"&gt;(5,285&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 8%; text-align: right"&gt;21,741&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 8%; text-align: right"&gt;(4,694&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 8%; text-align: right"&gt;42,422&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 8%; text-align: right"&gt;863&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;State&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,713&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(582&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,779&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(879&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;7,279&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;131&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;16,476&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(5,867&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;25,520&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(5,573&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;49,701&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;994&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;</us-gaap:FederalIncomeTaxNoteTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit contextRef="c0" decimals="-3" id="ixv-15672" unitRef="usd">14763000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit contextRef="c0" decimals="-3" id="ixv-15673" unitRef="usd">-5285000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit contextRef="c15" decimals="-3" id="ixv-15674" unitRef="usd">21741000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit contextRef="c15" decimals="-3" id="ixv-15675" unitRef="usd">-4694000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit contextRef="c16" decimals="-3" id="ixv-15676" unitRef="usd">42422000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit contextRef="c16" decimals="-3" id="ixv-15677" unitRef="usd">863000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="c0" decimals="-3" id="ixv-15678" unitRef="usd">1713000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit contextRef="c0" decimals="-3" id="ixv-15679" unitRef="usd">-582000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="c15" decimals="-3" id="ixv-15680" unitRef="usd">3779000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit contextRef="c15" decimals="-3" id="ixv-15681" unitRef="usd">-879000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="c16" decimals="-3" id="ixv-15682" unitRef="usd">7279000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit contextRef="c16" decimals="-3" id="ixv-15683" unitRef="usd">131000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="c0" decimals="-3" id="ixv-15684" unitRef="usd">16476000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c0" decimals="-3" id="ixv-15685" unitRef="usd">-5867000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="c15" decimals="-3" id="ixv-15686" unitRef="usd">25520000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c15" decimals="-3" id="ixv-15687" unitRef="usd">-5573000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="c16" decimals="-3" id="ixv-15688" unitRef="usd">49701000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c16" decimals="-3" id="ixv-15689" unitRef="usd">994000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="c0" id="ixv-15690">The effective income tax rate varied from the statutory federal income
tax rate as follows:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap"&gt;Year ended December 31,&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2022&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2021&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 61%; text-align: left; text-indent: -13.75pt; padding-left: 13.75pt"&gt;Statutory federal income tax rate&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;21.0%&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;21.0%&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;21.0%&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; text-indent: -13.75pt; padding-left: 13.75pt"&gt;State income taxes, net of federal tax benefit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2.2&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2.7&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3.4&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Research and development tax credits&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(2.7&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(4.2&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(0.4&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-indent: -13.75pt; padding-left: 13.75pt"&gt;Other&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(2.5&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1.1&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.5&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -13.75pt; padding-left: 13.75pt"&gt;Effective income tax rate&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;18.0%&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;18.4%&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;24.5%&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="c0" decimals="3" id="ixv-15691" unitRef="pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="c15" decimals="3" id="ixv-15692" unitRef="pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="c16" decimals="3" id="ixv-15693" unitRef="pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="c0" decimals="3" id="ixv-15694" unitRef="pure">0.022</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="c15" decimals="3" id="ixv-15695" unitRef="pure">0.027</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="c16" decimals="3" id="ixv-15696" unitRef="pure">0.034</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch contextRef="c0" decimals="3" id="ixv-15697" unitRef="pure">0.027</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch contextRef="c15" decimals="3" id="ixv-15698" unitRef="pure">0.042</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch contextRef="c16" decimals="3" id="ixv-15699" unitRef="pure">0.004</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="c0" decimals="3" id="ixv-15700" unitRef="pure">-0.025</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="c15" decimals="3" id="ixv-15701" unitRef="pure">-0.011</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="c16" decimals="3" id="ixv-15702" unitRef="pure">0.005</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate contextRef="c0" decimals="3" id="ixv-15703" unitRef="pure">0.18</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate contextRef="c15" decimals="3" id="ixv-15704" unitRef="pure">0.184</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate contextRef="c16" decimals="3" id="ixv-15705" unitRef="pure">0.245</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="c0" decimals="2" id="ixv-15706" unitRef="pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="c0" id="ixv-15707">Significant components of the Company&#x2019;s
deferred tax assets and liabilities are as follows:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: italic 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap"&gt;December 31,&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2022&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;Deferred tax assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left; padding-left: 22.5pt"&gt;Capitalized research and development costs&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;9,144&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;4,838&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-left: 22.5pt"&gt;Employee compensation and benefits&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,452&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,316&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 22.5pt"&gt;Allowances for doubtful accounts and discounts&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;431&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;637&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 22.5pt"&gt;Inventories&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,635&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,196&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 22.5pt"&gt;Stock-based compensation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,698&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,661&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 22.5pt"&gt;Other&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,608&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,705&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Total deferred tax assets&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;16,968&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;12,353&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;Deferred tax liabilities:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-indent: -4.5pt; padding-left: 27pt"&gt;Depreciation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,578&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,070&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-indent: -4.5pt; padding-left: 27pt"&gt;Other&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,414&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,174&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Total deferred tax liabilities&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;4,992&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;6,244&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Net deferred tax assets&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;11,976&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;6,109&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment contextRef="c3" decimals="-3" id="ixv-15708" unitRef="usd">9144000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment contextRef="c4" decimals="-3" id="ixv-15709" unitRef="usd">4838000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation contextRef="c3" decimals="-3" id="ixv-15710" unitRef="usd">2452000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation contextRef="c4" decimals="-3" id="ixv-15711" unitRef="usd">2316000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts contextRef="c3" decimals="-3" id="ixv-15712" unitRef="usd">431000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts contextRef="c4" decimals="-3" id="ixv-15713" unitRef="usd">637000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsInventory contextRef="c3" decimals="-3" id="ixv-15714" unitRef="usd">1635000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory contextRef="c4" decimals="-3" id="ixv-15715" unitRef="usd">1196000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost contextRef="c3" decimals="-3" id="ixv-15716" unitRef="usd">1698000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost contextRef="c4" decimals="-3" id="ixv-15717" unitRef="usd">1661000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsOther contextRef="c3" decimals="-3" id="ixv-15718" unitRef="usd">1608000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther contextRef="c4" decimals="-3" id="ixv-15719" unitRef="usd">1705000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsNet contextRef="c3" decimals="-3" id="ixv-15720" unitRef="usd">16968000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet contextRef="c4" decimals="-3" id="ixv-15721" unitRef="usd">12353000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="c3" decimals="-3" id="ixv-15722" unitRef="usd">3578000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="c4" decimals="-3" id="ixv-15723" unitRef="usd">5070000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesOther contextRef="c3" decimals="-3" id="ixv-15724" unitRef="usd">1414000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther contextRef="c4" decimals="-3" id="ixv-15725" unitRef="usd">1174000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredIncomeTaxLiabilities contextRef="c3" decimals="-3" id="ixv-15726" unitRef="usd">4992000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities contextRef="c4" decimals="-3" id="ixv-15727" unitRef="usd">6244000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet contextRef="c3" decimals="-3" id="ixv-15728" unitRef="usd">11976000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet contextRef="c4" decimals="-3" id="ixv-15729" unitRef="usd">6109000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <rgr:CapitalizedAndAmortizedOverForIncomeTaxPurposes contextRef="c0" id="ixv-15730">P5Y</rgr:CapitalizedAndAmortizedOverForIncomeTaxPurposes>
    <us-gaap:IncomeTaxesPaidNet contextRef="c0" decimals="-5" id="ixv-15731" unitRef="usd">26000000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet contextRef="c15" decimals="-5" id="ixv-15732" unitRef="usd">28700000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet contextRef="c16" decimals="-5" id="ixv-15733" unitRef="usd">49500000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:EarningsPerShareTextBlock contextRef="c0" id="ixv-11691">&lt;table border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif"&gt;
&lt;tr style="vertical-align: top"&gt;
  &lt;td style="width: 0.5in"&gt;&lt;b&gt;14.&lt;/b&gt;&lt;/td&gt;
  &lt;td&gt;&lt;b&gt;Earnings Per Share&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;


&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Set forth below is a reconciliation of the numerator
and denominator for the basic and diluted earnings per share calculations for the periods indicated:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;Year ended December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2022&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2021&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Numerator:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 61%; text-align: left; text-indent: 17.9pt; padding-left: 0.1pt"&gt;Net income&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;48,215&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;88,332&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;155,899&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Denominator:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-indent: -9pt; padding-left: 27pt"&gt;Weighted average number of common shares outstanding &#x2013; Basic&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,676,955&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,648,850&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,585,604&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -9pt; padding-left: 27pt"&gt;Dilutive effect of options and restricted stock units outstanding under the Company&#x2019;s employee compensation plans&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;134,263&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;144,498&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;172,230&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-indent: -27pt; padding-left: 27pt"&gt;Weighted average number of common shares outstanding &#x2013; Diluted&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;17,811,218&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;17,793,348&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;17,757,834&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="c0" id="ixv-15734">Set forth below is a reconciliation of the numerator
and denominator for the basic and diluted earnings per share calculations for the periods indicated:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;Year ended December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2022&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2021&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Numerator:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 61%; text-align: left; text-indent: 17.9pt; padding-left: 0.1pt"&gt;Net income&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;48,215&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;88,332&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;155,899&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Denominator:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-indent: -9pt; padding-left: 27pt"&gt;Weighted average number of common shares outstanding &#x2013; Basic&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,676,955&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,648,850&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,585,604&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -9pt; padding-left: 27pt"&gt;Dilutive effect of options and restricted stock units outstanding under the Company&#x2019;s employee compensation plans&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;134,263&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;144,498&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;172,230&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-indent: -27pt; padding-left: 27pt"&gt;Weighted average number of common shares outstanding &#x2013; Diluted&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;17,811,218&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;17,793,348&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;17,757,834&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:TemporaryEquityNetIncome contextRef="c0" decimals="-3" id="ixv-15735" unitRef="usd">48215000</us-gaap:TemporaryEquityNetIncome>
    <us-gaap:TemporaryEquityNetIncome contextRef="c15" decimals="-3" id="ixv-15736" unitRef="usd">88332000</us-gaap:TemporaryEquityNetIncome>
    <us-gaap:TemporaryEquityNetIncome contextRef="c16" decimals="-3" id="ixv-15737" unitRef="usd">155899000</us-gaap:TemporaryEquityNetIncome>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c0"
      decimals="INF"
      id="ixv-15738"
      unitRef="shares">17676955</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c15"
      decimals="INF"
      id="ixv-15739"
      unitRef="shares">17648850</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c16"
      decimals="INF"
      id="ixv-15740"
      unitRef="shares">17585604</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c0"
      decimals="INF"
      id="ixv-15741"
      unitRef="shares">134263</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c15"
      decimals="INF"
      id="ixv-15742"
      unitRef="shares">144498</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c16"
      decimals="INF"
      id="ixv-15743"
      unitRef="shares">172230</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c0"
      decimals="INF"
      id="ixv-15744"
      unitRef="shares">17811218</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c15"
      decimals="INF"
      id="ixv-15745"
      unitRef="shares">17793348</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c16"
      decimals="INF"
      id="ixv-15746"
      unitRef="shares">17757834</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <rgr:StockRepurchasesTextBlock contextRef="c0" id="ixv-11814">&lt;table border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif"&gt;
&lt;tr style="vertical-align: top"&gt;
  &lt;td style="width: 0.5in"&gt;&lt;b&gt;15.&lt;/b&gt;&lt;/td&gt;
  &lt;td&gt;&lt;b&gt;Stock Repurchases&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;


&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2023 and 2022 the Company repurchased shares
of its common stock. Details of these purchases are as follows:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap"&gt;Period&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;Total &lt;br/&gt;
Number of &lt;br/&gt;
Shares&lt;br/&gt;
 Purchased&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;Average&lt;br/&gt;
 Price Paid &lt;br/&gt;
per Share&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;Total Number&lt;br/&gt;
 of Shares &lt;br/&gt;
Purchased as &lt;br/&gt;
Part of &lt;br/&gt;
Publicly&lt;br/&gt;
 Announced &lt;br/&gt;
Program&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;Maximum &lt;br/&gt;
Dollar Value&lt;br/&gt;
 of Shares that&lt;br/&gt;
 May Yet Be&lt;br/&gt;
 Purchased &lt;br/&gt;
Under the&lt;br/&gt;
 Program&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; text-indent: -1.05pt; padding-left: 0pt"&gt;Third Quarter 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;July 3 to July 30&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-21"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-22"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-23"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;July 31 to August 27&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-24"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-25"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-26"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; width: 48%; padding-left: 10pt"&gt;August 28 to October 1&lt;/td&gt;&lt;td style="width: 1%; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"&gt;2,136&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"&gt;49.97&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"&gt;2,136&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 0pt"&gt;Fourth Quarter 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;October 2 to October 29&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-27"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-28"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-29"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;October 30 to November 26&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,304&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;49.77&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,304&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 10pt"&gt;November 27 to December 31&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-30"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-31"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-32"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 0pt"&gt;Fourth Quarter 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;October 1 to October 28&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-33"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-34"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-35"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;October 29 to November 25&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;179,341&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;45.20&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;179,341&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 10pt"&gt;November 26 to December 31&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;84,721&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;43.67&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;84,721&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 0pt"&gt;Total&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;268,502&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;44.79&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;268,502&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;74,680,000&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;All of these purchases were made with cash held
by the Company and no debt was incurred. No shares were repurchased in 2021.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;At December 31, 2023, approximately $74.7 million
remained authorized for share repurchases.&lt;/p&gt;</rgr:StockRepurchasesTextBlock>
    <us-gaap:ScheduleOfTreasuryStockByClassTextBlock contextRef="c0" id="ixv-15747">In 2023 and 2022 the Company repurchased shares
of its common stock. Details of these purchases are as follows:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap"&gt;Period&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;Total &lt;br/&gt;
Number of &lt;br/&gt;
Shares&lt;br/&gt;
 Purchased&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;Average&lt;br/&gt;
 Price Paid &lt;br/&gt;
per Share&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;Total Number&lt;br/&gt;
 of Shares &lt;br/&gt;
Purchased as &lt;br/&gt;
Part of &lt;br/&gt;
Publicly&lt;br/&gt;
 Announced &lt;br/&gt;
Program&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;Maximum &lt;br/&gt;
Dollar Value&lt;br/&gt;
 of Shares that&lt;br/&gt;
 May Yet Be&lt;br/&gt;
 Purchased &lt;br/&gt;
Under the&lt;br/&gt;
 Program&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; text-indent: -1.05pt; padding-left: 0pt"&gt;Third Quarter 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;July 3 to July 30&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-21"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-22"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-23"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;July 31 to August 27&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-24"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-25"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-26"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; width: 48%; padding-left: 10pt"&gt;August 28 to October 1&lt;/td&gt;&lt;td style="width: 1%; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"&gt;2,136&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"&gt;49.97&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"&gt;2,136&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 0pt"&gt;Fourth Quarter 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;October 2 to October 29&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-27"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-28"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-29"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;October 30 to November 26&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,304&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;49.77&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,304&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 10pt"&gt;November 27 to December 31&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-30"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-31"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-32"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 0pt"&gt;Fourth Quarter 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;October 1 to October 28&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-33"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-34"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-35"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;October 29 to November 25&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;179,341&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;45.20&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;179,341&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 10pt"&gt;November 26 to December 31&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;84,721&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;43.67&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;84,721&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 0pt"&gt;Total&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;268,502&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;44.79&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;268,502&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;74,680,000&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;</us-gaap:ScheduleOfTreasuryStockByClassTextBlock>
    <us-gaap:TreasuryStockPreferredShares
      contextRef="c85"
      decimals="INF"
      id="ixv-15748"
      unitRef="shares">2136</us-gaap:TreasuryStockPreferredShares>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c86"
      decimals="2"
      id="ixv-15749"
      unitRef="usdPershares">49.97</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c85"
      decimals="INF"
      id="ixv-15750"
      unitRef="shares">2136</us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:TreasuryStockPreferredShares
      contextRef="c89"
      decimals="INF"
      id="ixv-15751"
      unitRef="shares">2304</us-gaap:TreasuryStockPreferredShares>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c90"
      decimals="2"
      id="ixv-15752"
      unitRef="usdPershares">49.77</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c89"
      decimals="INF"
      id="ixv-15753"
      unitRef="shares">2304</us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:TreasuryStockPreferredShares
      contextRef="c95"
      decimals="INF"
      id="ixv-15754"
      unitRef="shares">179341</us-gaap:TreasuryStockPreferredShares>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c96"
      decimals="2"
      id="ixv-15755"
      unitRef="usdPershares">45.2</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c95"
      decimals="INF"
      id="ixv-15756"
      unitRef="shares">179341</us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:TreasuryStockPreferredShares
      contextRef="c97"
      decimals="INF"
      id="ixv-15757"
      unitRef="shares">84721</us-gaap:TreasuryStockPreferredShares>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c98"
      decimals="2"
      id="ixv-15758"
      unitRef="usdPershares">43.67</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c97"
      decimals="INF"
      id="ixv-15759"
      unitRef="shares">84721</us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:TreasuryStockPreferredShares
      contextRef="c3"
      decimals="INF"
      id="ixv-15760"
      unitRef="shares">268502</us-gaap:TreasuryStockPreferredShares>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c99"
      decimals="2"
      id="ixv-15761"
      unitRef="usdPershares">44.79</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c3"
      decimals="INF"
      id="ixv-15762"
      unitRef="shares">268502</us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <rgr:MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram contextRef="c3" decimals="0" id="ixv-15763" unitRef="usd">74680000</rgr:MaximumDollarValueOfSharesThatMayYetBePurchasedUnderTheProgram>
    <us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1 contextRef="c3" decimals="-5" id="ixv-15764" unitRef="usd">74700000</us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="c0" id="ixv-12127">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;&lt;b&gt;16.&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;b&gt;Compensation Plans&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In May 2017, the Company&#x2019;s shareholders
approved the 2017 Stock Incentive Plan (the &#x201c;2017 SIP&#x201d;) under which employees, independent contractors, and non-employee directors
may be granted stock options, restricted stock, deferred stock awards, and stock appreciation rights, any of which may or may not require
the satisfaction of performance objectives. Vesting requirements are determined by the Compensation Committee of the Board of Directors&lt;i&gt;.
&lt;/i&gt;The Company has reserved 750,000 shares for issuance under the 2017 SIP.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In June 2023, the Company&#x2019;s shareholders
approved the 2023 Stock Incentive Plan (the &#x201c;2023 SIP&#x201d;) under which employees, independent contractors, and non-employee directors
may be granted stock options, restricted stock, deferred stock awards, and stock appreciation rights, any of which may or may not require
the satisfaction of performance objectives. Vesting requirements are determined by the Compensation Committee of the Board of Directors.
The Company reserved 1,000,000 shares for issuance under the 2023 SIP, of which 869,000 shares remain available for future grants as of
December 31, 2023. Any shares remaining from the 2017 SIP will be available for future grants under the terms of the 2023 SIP. As of December
31, 2023, 121,034 shares remained unawarded from the 2017 SIP. Since the shareholder approval of the 2023 SIP, no additional awards have
been or will be granted under the 2017 SIP. Previously granted and outstanding awards under the 2017 SIP will remain subject to the terms
of the 2017 SIP.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Compensation expense related to deferred stock,
restricted stock, and restricted stock units is recognized based on the grant-date fair value of the Company&#x2019;s common stock, using
either the actual share price or an estimated value using the Monte Carlo valuation model. The total stock-based compensation cost included
in the Statements of Income was $6.2 million, $5.7 million, and $8.3 million in 2023, 2022, and 2021, respectively.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Deferred Stock&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Deferred stock awards vest based on the passage
of time or the Company&#x2019;s attainment of performance objectives. Upon vesting, these awards convert one-for-one to common stock.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2023, 7,566 deferred stock awards were issued
to non-employee directors that will vest in June 2024 and 9,760 deferred stock awards were issued to non-employee directors that will
vest in June 2026.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2022, 5,953 deferred stock awards were issued
to non-employee directors that vested in May 2023, 7,688 deferred stock awards were issued to non-employee directors that will vest in
May 2025 and a 1,478 deferred stock award was issued to a non-employee director that will vest in June 2027.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2021, 5,113 deferred stock awards were issued
to non-employee directors that vested in May 2022 and 6,615 deferred stock awards were issued to non-employee directors that will vest
in May 2024.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Compensation expense related to these awards is
amortized ratably over the vesting period. Compensation expense related to these awards was $0.9 million in 2023, $0.8 million in 2022,
and $0.8 million in 2021.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;At December 31, 2023, there was $1.0 million of
unrecognized compensation cost related to deferred stock that is expected to be recognized over a period of three years.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="text-decoration:underline"&gt;Restricted Stock Units&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company grants restricted stock units (RSU&#x2019;s)
to senior employees. Some of these RSU&#x2019;s are retention awards and have only time-based vesting. Other RSU&#x2019;s have a vesting
&#x201c;double trigger.&#x201d; The vesting of these RSU&#x2019;s is dependent on the achievement of corporate objectives established by
the Compensation Committee of the Board of Directors, including return on net operating assets, stock performance, and the passage of
time.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During 2023, 114,000 restricted stock units were
issued. Compensation costs related to these restricted stock units was $6.1 million, of which $1.3 million was recognized in 2023. The
costs are being recognized ratably over the remaining periods required before the units vest, which range from 24 to 26 months.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During 2022, 82,000 restricted stock units were
issued. Compensation costs related to these restricted stock units was $6.0 million, of which $1.7 million was recognized in 2022. The
costs are being recognized ratably over the remaining periods required before the units vest, which range from 24 to 26 months.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During 2021, 82,000 restricted stock units were
issued. Compensation costs related to these restricted stock units was $5.6 million, of which $1.6 million was recognized in 2021. The
costs are being recognized ratably over the remaining periods required before the units vest, which range from 24 to 26 months.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;At December 31, 2023, there was $7.5 million of
unrecognized compensation cost related to restricted stock units that is expected to be recognized over a period of 3.3 years.&lt;/p&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="c100"
      decimals="0"
      id="ixv-15765"
      unitRef="shares">750000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="c101"
      decimals="INF"
      id="ixv-15766"
      unitRef="shares">1000000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="c102"
      decimals="INF"
      id="ixv-15767"
      unitRef="shares">869000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <rgr:ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded
      contextRef="c103"
      decimals="0"
      id="ixv-15768"
      unitRef="shares">121034</rgr:ShareBasedCompensationArrangementByShareBasedPaymentRemainedUnawarded>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c0" decimals="-5" id="ixv-15769" unitRef="usd">6200000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c15" decimals="-5" id="ixv-15770" unitRef="usd">5700000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c16" decimals="-5" id="ixv-15771" unitRef="usd">8300000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued
      contextRef="c104"
      decimals="INF"
      id="ixv-15772"
      unitRef="shares">7566</us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued>
    <us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued
      contextRef="c105"
      decimals="INF"
      id="ixv-15773"
      unitRef="shares">9760</us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued>
    <us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued
      contextRef="c106"
      decimals="INF"
      id="ixv-15774"
      unitRef="shares">5953</us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued>
    <us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued
      contextRef="c107"
      decimals="INF"
      id="ixv-15775"
      unitRef="shares">7688</us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued>
    <us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued
      contextRef="c108"
      decimals="0"
      id="ixv-15776"
      unitRef="shares">1478</us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued>
    <us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued
      contextRef="c109"
      decimals="INF"
      id="ixv-15777"
      unitRef="shares">5113</us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued>
    <us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued
      contextRef="c110"
      decimals="INF"
      id="ixv-15778"
      unitRef="shares">6615</us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued>
    <us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense
      contextRef="c111"
      decimals="-5"
      id="ixv-15779"
      unitRef="usd">900000</us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense>
    <us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense
      contextRef="c112"
      decimals="-5"
      id="ixv-15780"
      unitRef="usd">800000</us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense>
    <us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense
      contextRef="c113"
      decimals="-5"
      id="ixv-15781"
      unitRef="usd">800000</us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
      contextRef="c114"
      decimals="-5"
      id="ixv-15782"
      unitRef="usd">1000000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="c115"
      decimals="INF"
      id="ixv-15783"
      unitRef="shares">114000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:RestrictedStockExpense
      contextRef="c115"
      decimals="-5"
      id="ixv-15784"
      unitRef="usd">6100000</us-gaap:RestrictedStockExpense>
    <rgr:RecognizedCostsOfRestrictedStockUnits
      contextRef="c116"
      decimals="-5"
      id="ixv-15785"
      unitRef="usd">1300000</rgr:RecognizedCostsOfRestrictedStockUnits>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c117" id="ixv-15786">P24M</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c118" id="ixv-15787">P26M</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="c119"
      decimals="INF"
      id="ixv-15788"
      unitRef="shares">82000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:RestrictedStockExpense
      contextRef="c119"
      decimals="-5"
      id="ixv-15789"
      unitRef="usd">6000000</us-gaap:RestrictedStockExpense>
    <rgr:RecognizedCostsOfRestrictedStockUnits
      contextRef="c120"
      decimals="-5"
      id="ixv-15790"
      unitRef="usd">1700000</rgr:RecognizedCostsOfRestrictedStockUnits>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c121" id="ixv-15791">P24M</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c122" id="ixv-15792">P26M</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="c123"
      decimals="INF"
      id="ixv-15793"
      unitRef="shares">82000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:RestrictedStockExpense
      contextRef="c123"
      decimals="-5"
      id="ixv-15794"
      unitRef="usd">5600000</us-gaap:RestrictedStockExpense>
    <rgr:RecognizedCostsOfRestrictedStockUnits
      contextRef="c124"
      decimals="-5"
      id="ixv-15795"
      unitRef="usd">1600000</rgr:RecognizedCostsOfRestrictedStockUnits>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c125" id="ixv-15796">P24M</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c126" id="ixv-15797">P26M</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <rgr:UnrecognizedCompensationCost
      contextRef="c115"
      decimals="-5"
      id="ixv-15798"
      unitRef="usd">7500000</rgr:UnrecognizedCompensationCost>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c115" id="ixv-15799">P3Y3M18D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="c0" id="ixv-12187">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;&lt;b&gt;17.&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;b&gt;Operating Segment Information&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company has two reportable operating segments:
firearms and castings. The firearms segment manufactures and sells rifles, pistols, and revolvers principally to a number of federally-licensed,
independent wholesale distributors primarily located in the United States. The castings segment manufactures and sells steel investment
castings and metal injection molding parts.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Corporate segment income relates to interest income,
the sale of non-operating assets, and other non-operating activities. Corporate segment assets consist of cash and other non-operating
assets.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company evaluates performance and allocates
resources, in part, based on income (loss) before taxes. The accounting policies of the reportable segments are the same as those described
in the summary of significant accounting policies (see Note 1). Intersegment sales are recorded at the Company&#x2019;s cost plus a fixed
profit percentage.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;Year ended December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2022&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2021&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: normal; text-align: left"&gt;Net Sales&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 61%"&gt;Firearms&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;540,746&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;593,289&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;728,141&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Castings&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 20pt"&gt;Unaffiliated&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,021&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,553&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,595&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 20pt"&gt;Intersegment&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;33,086&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;21,306&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;24,711&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;36,107&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;23,859&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;27,306&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Eliminations&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(33,086&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(21,306&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(24,711&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;543,767&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;595,842&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;730,736&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Income (Loss) Before Income Taxes&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;53,723&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;108,610&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;207,657&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Castings&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(798&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(3,338&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(2,732&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Corporate&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;5,899&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,007&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,669&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;58,824&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;108,279&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;206,594&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Identifiable Assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;228,699&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;223,301&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;188,290&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Castings&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,144&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,910&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;13,889&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Corporate&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;158,974&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;249,552&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;240,164&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;398,817&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;484,763&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;442,343&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Goodwill&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;3,055&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;3,055&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;3,055&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Castings&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;209&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;209&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;209&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,264&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,264&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,264&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Depreciation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;19,301&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;21,992&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;22,842&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Castings&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,814&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2,452&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2,959&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;21,115&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;24,444&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;25,801&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Capital Expenditures&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;15,395&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;26,598&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;25,239&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Castings&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;401&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,175&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,537&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;15,796&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;27,773&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;28,776&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2023, the Company&#x2019;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#x2019;s - 24%; Davidson&#x2019;s - 19%; and Sports South -15%.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2022, the Company&#x2019;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#x2019;s - 23%; Davidson&#x2019;s - 23%; and Sports South - 21%.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2021, the Company&#x2019;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#x2019;s - 21%; Sports South - 19%; and Davidson&#x2019;s - 19%.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company&#x2019;s assets are located entirely
in the United States and domestic sales represented at least 94% of total sales in 2023, 2022, and 2021.&lt;/p&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="c0"
      decimals="INF"
      id="ixv-15800"
      unitRef="pure">2</us-gaap:NumberOfOperatingSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock contextRef="c0" id="ixv-15801">The Company evaluates performance and allocates
resources, in part, based on income (loss) before taxes. The accounting policies of the reportable segments are the same as those described
in the summary of significant accounting policies (see Note 1). Intersegment sales are recorded at the Company&#x2019;s cost plus a fixed
profit percentage.&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;Year ended December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2022&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2021&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: normal; text-align: left"&gt;Net Sales&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 61%"&gt;Firearms&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;540,746&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;593,289&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;728,141&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Castings&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 20pt"&gt;Unaffiliated&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,021&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,553&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,595&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 20pt"&gt;Intersegment&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;33,086&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;21,306&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;24,711&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;36,107&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;23,859&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;27,306&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Eliminations&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(33,086&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(21,306&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(24,711&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;543,767&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;595,842&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;730,736&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Income (Loss) Before Income Taxes&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;53,723&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;108,610&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;207,657&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Castings&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(798&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(3,338&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(2,732&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Corporate&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;5,899&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,007&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,669&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;58,824&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;108,279&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;206,594&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Identifiable Assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;228,699&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;223,301&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;188,290&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Castings&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,144&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,910&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;13,889&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Corporate&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;158,974&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;249,552&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;240,164&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;398,817&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;484,763&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;442,343&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Goodwill&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;3,055&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;3,055&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;3,055&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Castings&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;209&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;209&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;209&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,264&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,264&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,264&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Depreciation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;19,301&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;21,992&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;22,842&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Castings&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,814&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2,452&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2,959&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;21,115&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;24,444&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;25,801&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Capital Expenditures&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;15,395&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;26,598&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;25,239&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Castings&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;401&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,175&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,537&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;15,796&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;27,773&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;28,776&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:Revenues
      contextRef="c139"
      decimals="-3"
      id="ixv-15802"
      unitRef="usd">540746000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c140"
      decimals="-3"
      id="ixv-15803"
      unitRef="usd">593289000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c141"
      decimals="-3"
      id="ixv-15804"
      unitRef="usd">728141000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c142"
      decimals="-3"
      id="ixv-15805"
      unitRef="usd">3021000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c143"
      decimals="-3"
      id="ixv-15806"
      unitRef="usd">2553000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c144"
      decimals="-3"
      id="ixv-15807"
      unitRef="usd">2595000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c145"
      decimals="-3"
      id="ixv-15808"
      unitRef="usd">33086000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c146"
      decimals="-3"
      id="ixv-15809"
      unitRef="usd">21306000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c147"
      decimals="-3"
      id="ixv-15810"
      unitRef="usd">24711000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c148"
      decimals="-3"
      id="ixv-15811"
      unitRef="usd">36107000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c149"
      decimals="-3"
      id="ixv-15812"
      unitRef="usd">23859000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c150"
      decimals="-3"
      id="ixv-15813"
      unitRef="usd">27306000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c151"
      decimals="-3"
      id="ixv-15814"
      unitRef="usd">-33086000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c152"
      decimals="-3"
      id="ixv-15815"
      unitRef="usd">-21306000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c153"
      decimals="-3"
      id="ixv-15816"
      unitRef="usd">-24711000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c0" decimals="-3" id="ixv-15817" unitRef="usd">543767000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c15" decimals="-3" id="ixv-15818" unitRef="usd">595842000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c16" decimals="-3" id="ixv-15819" unitRef="usd">730736000</us-gaap:Revenues>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c139"
      decimals="-3"
      id="ixv-15820"
      unitRef="usd">53723000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c140"
      decimals="-3"
      id="ixv-15821"
      unitRef="usd">108610000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c141"
      decimals="-3"
      id="ixv-15822"
      unitRef="usd">207657000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c148"
      decimals="-3"
      id="ixv-15823"
      unitRef="usd">-798000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c149"
      decimals="-3"
      id="ixv-15824"
      unitRef="usd">-3338000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c150"
      decimals="-3"
      id="ixv-15825"
      unitRef="usd">-2732000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c154"
      decimals="-3"
      id="ixv-15826"
      unitRef="usd">5899000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c155"
      decimals="-3"
      id="ixv-15827"
      unitRef="usd">3007000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c156"
      decimals="-3"
      id="ixv-15828"
      unitRef="usd">1669000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c0" decimals="-3" id="ixv-15829" unitRef="usd">58824000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c15" decimals="-3" id="ixv-15830" unitRef="usd">108279000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c16" decimals="-3" id="ixv-15831" unitRef="usd">206594000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:Assets
      contextRef="c157"
      decimals="-3"
      id="ixv-15832"
      unitRef="usd">228699000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="c158"
      decimals="-3"
      id="ixv-15833"
      unitRef="usd">223301000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="c159"
      decimals="-3"
      id="ixv-15834"
      unitRef="usd">188290000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="c160"
      decimals="-3"
      id="ixv-15835"
      unitRef="usd">11144000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="c161"
      decimals="-3"
      id="ixv-15836"
      unitRef="usd">11910000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="c162"
      decimals="-3"
      id="ixv-15837"
      unitRef="usd">13889000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="c163"
      decimals="-3"
      id="ixv-15838"
      unitRef="usd">158974000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="c164"
      decimals="-3"
      id="ixv-15839"
      unitRef="usd">249552000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="c165"
      decimals="-3"
      id="ixv-15840"
      unitRef="usd">240164000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c3" decimals="-3" id="ixv-15841" unitRef="usd">398817000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c4" decimals="-3" id="ixv-15842" unitRef="usd">484763000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c29" decimals="-3" id="ixv-15843" unitRef="usd">442343000</us-gaap:Assets>
    <us-gaap:Goodwill
      contextRef="c157"
      decimals="-3"
      id="ixv-15844"
      unitRef="usd">3055000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="c158"
      decimals="-3"
      id="ixv-15845"
      unitRef="usd">3055000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="c159"
      decimals="-3"
      id="ixv-15846"
      unitRef="usd">3055000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="c160"
      decimals="-3"
      id="ixv-15847"
      unitRef="usd">209000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="c161"
      decimals="-3"
      id="ixv-15848"
      unitRef="usd">209000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="c162"
      decimals="-3"
      id="ixv-15849"
      unitRef="usd">209000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c3" decimals="-3" id="ixv-15850" unitRef="usd">3264000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c4" decimals="-3" id="ixv-15851" unitRef="usd">3264000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c29" decimals="-3" id="ixv-15852" unitRef="usd">3264000</us-gaap:Goodwill>
    <us-gaap:Depreciation
      contextRef="c139"
      decimals="-3"
      id="ixv-15853"
      unitRef="usd">19301000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="c140"
      decimals="-3"
      id="ixv-15854"
      unitRef="usd">21992000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="c141"
      decimals="-3"
      id="ixv-15855"
      unitRef="usd">22842000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="c148"
      decimals="-3"
      id="ixv-15856"
      unitRef="usd">1814000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="c149"
      decimals="-3"
      id="ixv-15857"
      unitRef="usd">2452000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="c150"
      decimals="-3"
      id="ixv-15858"
      unitRef="usd">2959000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c0" decimals="-3" id="ixv-15859" unitRef="usd">21115000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c15" decimals="-3" id="ixv-15860" unitRef="usd">24444000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c16" decimals="-3" id="ixv-15861" unitRef="usd">25801000</us-gaap:Depreciation>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="c139"
      decimals="-3"
      id="ixv-15862"
      unitRef="usd">15395000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="c140"
      decimals="-3"
      id="ixv-15863"
      unitRef="usd">26598000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="c141"
      decimals="-3"
      id="ixv-15864"
      unitRef="usd">25239000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="c148"
      decimals="-3"
      id="ixv-15865"
      unitRef="usd">401000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="c149"
      decimals="-3"
      id="ixv-15866"
      unitRef="usd">1175000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="c150"
      decimals="-3"
      id="ixv-15867"
      unitRef="usd">3537000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c0" decimals="-3" id="ixv-15868" unitRef="usd">15796000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c15" decimals="-3" id="ixv-15869" unitRef="usd">27773000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c16" decimals="-3" id="ixv-15870" unitRef="usd">28776000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c127"
      decimals="INF"
      id="ixv-15871"
      unitRef="pure">0.24</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c128"
      decimals="INF"
      id="ixv-15872"
      unitRef="pure">0.19</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c129"
      decimals="2"
      id="ixv-15873"
      unitRef="pure">0.15</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c130"
      decimals="INF"
      id="ixv-15874"
      unitRef="pure">0.23</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c131"
      decimals="INF"
      id="ixv-15875"
      unitRef="pure">0.23</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c132"
      decimals="INF"
      id="ixv-15876"
      unitRef="pure">0.21</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c133"
      decimals="INF"
      id="ixv-15877"
      unitRef="pure">0.21</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c134"
      decimals="INF"
      id="ixv-15878"
      unitRef="pure">0.19</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c135"
      decimals="INF"
      id="ixv-15879"
      unitRef="pure">0.19</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c136"
      decimals="INF"
      id="ixv-15880"
      unitRef="pure">0.94</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c137"
      decimals="INF"
      id="ixv-15881"
      unitRef="pure">0.94</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c138"
      decimals="INF"
      id="ixv-15882"
      unitRef="pure">0.94</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:QuarterlyFinancialInformationTextBlock contextRef="c0" id="ixv-12674">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;&lt;b&gt;18.&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;b&gt;Quarterly Results of Operations (Unaudited)&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The following is a tabulation of the unaudited
quarterly results of operations for the two years ended December 31, 2023:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Three Months Ended&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;4/1/23&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;7/1/23&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;9/30/23&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;12/31/23&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 48%; font-weight: normal; text-align: left; text-indent: 0.5pt"&gt;Net Sales&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;149,453&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;142,804&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;120,893&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;130,617&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; text-indent: 0.5pt"&gt;Gross profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;38,486&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;38,148&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;24,728&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;32,257&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; text-indent: 0.5pt"&gt;Net income&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;14,350&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;16,185&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,431&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;10,249&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-indent: 0.5pt"&gt;Basic earnings per share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.81&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.91&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.42&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.58&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-indent: 0.5pt"&gt;Diluted earnings per share&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.81&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.91&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.42&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.58&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Three Months Ended&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;4/2/22&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;7/2/22&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;10/1/22&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;12/31/22&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 48%; font-weight: normal; text-align: left"&gt;Net Sales&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;166,575&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;140,653&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;139,390&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;149,224&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gross profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;58,108&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;43,554&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;38,869&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;39,554&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net income&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;30,232&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;20,757&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;18,389&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;18,954&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Basic earnings per share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1.72&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1.18&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1.04&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1.07&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;Diluted earnings per share&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1.70&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1.17&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1.03&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1.06&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:QuarterlyFinancialInformationTextBlock>
    <us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock contextRef="c0" id="ixv-15883">The following is a tabulation of the unaudited
quarterly results of operations for the two years ended December 31, 2023:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Three Months Ended&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;4/1/23&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;7/1/23&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;9/30/23&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;12/31/23&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 48%; font-weight: normal; text-align: left; text-indent: 0.5pt"&gt;Net Sales&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;149,453&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;142,804&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;120,893&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;130,617&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; text-indent: 0.5pt"&gt;Gross profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;38,486&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;38,148&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;24,728&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;32,257&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; text-indent: 0.5pt"&gt;Net income&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;14,350&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;16,185&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,431&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;10,249&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-indent: 0.5pt"&gt;Basic earnings per share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.81&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.91&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.42&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.58&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-indent: 0.5pt"&gt;Diluted earnings per share&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.81&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.91&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.42&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.58&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Three Months Ended&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;4/2/22&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;7/2/22&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;10/1/22&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;12/31/22&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 48%; font-weight: normal; text-align: left"&gt;Net Sales&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;166,575&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;140,653&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;139,390&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;149,224&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gross profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;58,108&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;43,554&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;38,869&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;39,554&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net income&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;30,232&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;20,757&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;18,389&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;18,954&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Basic earnings per share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1.72&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1.18&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1.04&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1.07&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;Diluted earnings per share&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1.70&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1.17&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1.03&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1.06&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock>
    <us-gaap:Revenues
      contextRef="c166"
      decimals="-3"
      id="ixv-15884"
      unitRef="usd">149453000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c167"
      decimals="-3"
      id="ixv-15885"
      unitRef="usd">142804000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c168"
      decimals="-3"
      id="ixv-15886"
      unitRef="usd">120893000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c99" decimals="-3" id="ixv-15887" unitRef="usd">130617000</us-gaap:Revenues>
    <us-gaap:GrossProfit
      contextRef="c166"
      decimals="-3"
      id="ixv-15888"
      unitRef="usd">38486000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c167"
      decimals="-3"
      id="ixv-15889"
      unitRef="usd">38148000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c168"
      decimals="-3"
      id="ixv-15890"
      unitRef="usd">24728000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c99" decimals="-3" id="ixv-15891" unitRef="usd">32257000</us-gaap:GrossProfit>
    <us-gaap:NetIncomeLoss
      contextRef="c166"
      decimals="-3"
      id="ixv-15892"
      unitRef="usd">14350000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c167"
      decimals="-3"
      id="ixv-15893"
      unitRef="usd">16185000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c168"
      decimals="-3"
      id="ixv-15894"
      unitRef="usd">7431000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c99" decimals="-3" id="ixv-15895" unitRef="usd">10249000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="c166"
      decimals="2"
      id="ixv-15896"
      unitRef="usdPershares">0.81</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c167"
      decimals="2"
      id="ixv-15897"
      unitRef="usdPershares">0.91</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c168"
      decimals="2"
      id="ixv-15898"
      unitRef="usdPershares">0.42</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c99"
      decimals="2"
      id="ixv-15899"
      unitRef="usdPershares">0.58</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c166"
      decimals="2"
      id="ixv-15900"
      unitRef="usdPershares">0.81</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c167"
      decimals="2"
      id="ixv-15901"
      unitRef="usdPershares">0.91</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c168"
      decimals="2"
      id="ixv-15902"
      unitRef="usdPershares">0.42</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c99"
      decimals="2"
      id="ixv-15903"
      unitRef="usdPershares">0.58</us-gaap:EarningsPerShareDiluted>
    <us-gaap:Revenues
      contextRef="c169"
      decimals="-3"
      id="ixv-15904"
      unitRef="usd">166575000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c170"
      decimals="-3"
      id="ixv-15905"
      unitRef="usd">140653000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c171"
      decimals="-3"
      id="ixv-15906"
      unitRef="usd">139390000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c172"
      decimals="-3"
      id="ixv-15907"
      unitRef="usd">149224000</us-gaap:Revenues>
    <us-gaap:GrossProfit
      contextRef="c169"
      decimals="-3"
      id="ixv-15908"
      unitRef="usd">58108000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c170"
      decimals="-3"
      id="ixv-15909"
      unitRef="usd">43554000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c171"
      decimals="-3"
      id="ixv-15910"
      unitRef="usd">38869000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c172"
      decimals="-3"
      id="ixv-15911"
      unitRef="usd">39554000</us-gaap:GrossProfit>
    <us-gaap:NetIncomeLoss
      contextRef="c169"
      decimals="-3"
      id="ixv-15912"
      unitRef="usd">30232000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c170"
      decimals="-3"
      id="ixv-15913"
      unitRef="usd">20757000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c171"
      decimals="-3"
      id="ixv-15914"
      unitRef="usd">18389000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c172"
      decimals="-3"
      id="ixv-15915"
      unitRef="usd">18954000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="c169"
      decimals="2"
      id="ixv-15916"
      unitRef="usdPershares">1.72</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c170"
      decimals="2"
      id="ixv-15917"
      unitRef="usdPershares">1.18</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c171"
      decimals="2"
      id="ixv-15918"
      unitRef="usdPershares">1.04</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c172"
      decimals="2"
      id="ixv-15919"
      unitRef="usdPershares">1.07</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c169"
      decimals="2"
      id="ixv-15920"
      unitRef="usdPershares">1.7</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c170"
      decimals="2"
      id="ixv-15921"
      unitRef="usdPershares">1.17</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c171"
      decimals="2"
      id="ixv-15922"
      unitRef="usdPershares">1.03</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c172"
      decimals="2"
      id="ixv-15923"
      unitRef="usdPershares">1.06</us-gaap:EarningsPerShareDiluted>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock contextRef="c0" id="ixv-12912">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;&lt;b&gt;19.&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Related Party Transactions &lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;From time to time, the Company contracts with
the National Rifle Association (&#x201c;NRA&#x201d;) for some of its promotional and advertising activities. The Company paid the NRA $0.5
million, $0.7 million and $0.5 million in 2023, 2022, and 2021, respectively. One of the Company&#x2019;s Directors also serves as a Director
on the Board of the NRA.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company is a member of the National Shooting
Sports Foundation (&#x201c;NSSF&#x201d;), the firearm industry trade association. &lt;span style="font-family: Times New Roman, Times, Serif"&gt;The
Company paid the NSSF $0.3 million, $0.3 million and $0.4 million in 2023, 2022, and 2021, respectively. &lt;/span&gt;One of the Company&#x2019;s
Directors also serves on the Board of the NSSF.&lt;/p&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="c173"
      decimals="-5"
      id="ixv-15924"
      unitRef="usd">500000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="c174"
      decimals="-5"
      id="ixv-15925"
      unitRef="usd">700000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="c175"
      decimals="-5"
      id="ixv-15926"
      unitRef="usd">500000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="c176"
      decimals="-5"
      id="ixv-15927"
      unitRef="usd">300000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="c177"
      decimals="-5"
      id="ixv-15928"
      unitRef="usd">300000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="c178"
      decimals="-5"
      id="ixv-15929"
      unitRef="usd">400000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:LegalMattersAndContingenciesTextBlock contextRef="c0" id="ixv-12928">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;&lt;b&gt;20.&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Contingent Liabilities &lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;As
of December 31, 2023, the Company was a defendant in nine (9) lawsuits and is aware of certain other such claims. The lawsuits&lt;/span&gt;
generally &lt;span style="font-family: Times New Roman, Times, Serif"&gt;fall into four (4) categories: traditional product liability litigation,
municipal litigation&lt;/span&gt;, negligence, and unfair trade practices&lt;span style="font-family: Times New Roman, Times, Serif"&gt;. Each is
discussed in turn below.&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Traditional Product Liability Litigation &lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;One lawsuit involves a claim for damages
related to an allegedly defective product due to its design and/or manufacture. The lawsuit stems from a specific incident of
personal injury and is based on traditional product liability theories such as strict liability, negligence, and/or breach of
warranty.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company believes that the allegations in this
case are unfounded, that the incident is unrelated to the design or manufacture of the firearm involved, and that there should be no recovery
against the Company.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Municipal Litigation&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;Municipal
litigation generally includes those cases brought by cities or other governmental entities against firearms manufacturers, distributors
and retailers seeking to recover damages allegedly arising out of the criminal misuse of firearms by third parties. &lt;/span&gt;There are four
(4) lawsuits of this type, as follows:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Complaint in &lt;i&gt;City of Gary v. Smith &amp;amp;
Wesson Corp., et al&lt;/i&gt;. was filed in Indiana State Court in 1999 and &lt;span style="font-family: Times New Roman, Times, Serif"&gt;seeks damages,
among other things, for the costs of &lt;span style="color: #161118"&gt;medical care&lt;/span&gt;&lt;span style="color: #2F262F"&gt;,&lt;/span&gt; &lt;span style="color: #161118"&gt;police
and emergency services, public health services&lt;/span&gt;&lt;span style="color: #2F262F"&gt;,&lt;/span&gt; &lt;span style="color: #161118"&gt;and other services
as well as punitive damages. In addition&lt;/span&gt;&lt;span style="color: #2F262F"&gt;,&lt;/span&gt; &lt;span style="color: #161118"&gt;nuisance abatement and/or
injunctive relief is sought to change th&lt;/span&gt;&lt;span style="color: #2F262F"&gt;e&lt;/span&gt; &lt;span style="color: #161118"&gt;design&lt;/span&gt;&lt;span style="color: #2F262F"&gt;,&lt;/span&gt;
&lt;span style="color: #161118"&gt;manufacture&lt;/span&gt;&lt;span style="color: #2F262F"&gt;,&lt;/span&gt; &lt;span style="color: #161118"&gt;mark&lt;/span&gt;&lt;span style="color: #2F262F"&gt;e&lt;/span&gt;&lt;span style="color: #161118"&gt;ting
and distribution practices of th&lt;/span&gt;&lt;span style="color: #2F262F"&gt;e&lt;/span&gt; &lt;span style="color: #161118"&gt;various defendants. The suit
alleges&lt;/span&gt;&lt;span style="color: #2F262F"&gt;,&lt;/span&gt; &lt;span style="color: #161118"&gt;among other claims&lt;/span&gt;&lt;span style="color: #2F262F"&gt;,&lt;/span&gt;
&lt;span style="color: #161118"&gt;negligence in the design of products&lt;/span&gt;&lt;span style="color: #2F262F"&gt;,&lt;/span&gt; &lt;span style="color: #161118"&gt;public
nuisance&lt;/span&gt;&lt;span style="color: #2F262F"&gt;,&lt;/span&gt; &lt;span style="color: #161118"&gt;negligent distribution and marketing&lt;/span&gt;&lt;span style="color: #2F262F"&gt;,&lt;/span&gt;
&lt;span style="color: #161118"&gt;negligence per se and deceptive advertising. The case does not allege a specific injury to a specific individual&lt;/span&gt;
as a result &lt;span style="color: #161118"&gt;of the misuse or use of any of the Company's products. After a long procedural history, during
the quarter ended April 3, 2021, the City initiated discovery and the manufacturer Defendants reciprocated. Discovery is ongoing.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;&lt;i&gt;Estados
Unidos Mexicanos v. Smith &amp;amp; Wesson Brands, Inc., et al.&lt;/i&gt; was filed by the Country of Mexico in August 2021 in the U.S. District
Court for the District of Massachusetts and names seven defendants, mostly U.S.-based firearms manufacturers, including the Company.
The Complaint advances a variety of legal theories including negligence, public nuisance, unjust enrichment, restitution, and others.
Plaintiff essentially alleges that Defendants design, manufacture, distribute, market and sell firearms in a way that they know results
in the illegal trafficking of firearms into Mexico, where they are used by Mexican drug cartels for criminal activities. Plaintiff seeks
injunctive relief and monetary damages. &lt;/span&gt;On November 22, 2021, Defendants filed a joint motion to dismiss the Complaint for, among
other things, failure to state a claim on which relief may be granted. On September 30, 2022, the court entered an order granting Defendants&#x2019;
motion. On October 26, 2022, Plaintiff filed a Notice of Appeal and the matter was briefed before the First Circuit Court of Appeals.
Oral argument was held on July 24, 2023. On January 22, 2024, the First Circuit Court of Appeals issued an opinion reversing the District
Court&#x2019;s dismissal case and remanding the case for further proceedings.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On December 20, 2022, the City of Buffalo, New
York filed a lawsuit captioned &lt;i&gt;The City of Buffalo v. Smith &amp;amp; Wesson Brands, Inc., et al.&lt;/i&gt; in the New York State Supreme Court
for Erie County, New York. The suit names a number of firearm manufacturers, distributors, and retailers as defendants, including the
Company, and purports to state causes of action for violations of Sections 898, 349 and 350 of the New York General Business Law, as well
as common law public nuisance. Generally, plaintiff alleges that the criminal misuse of firearms in the City of Buffalo is the result
of the manufacturing, sales, marketing, and distribution practices of the defendants. The defendants timely removed the matter to the
U.S. District Court for the Western District of New York.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On December 21, 2022, the City of Rochester, New
York filed a lawsuit captioned &lt;i&gt;The City of Rochester v. Smith &amp;amp; Wesson Brands, Inc., et al. &lt;/i&gt;in the New York State Supreme Court
for Monroe County, New York. The suit names a number of firearm manufacturers, distributors, and retailers as defendants, including the
Company, and purports to state causes of action for violations of Sections 898, 349 and 350 of the New York General Business Law, as well
as common law public nuisance. The allegations essentially mirror those in &lt;i&gt;Buffalo&lt;/i&gt;, discussed in the preceding paragraph. Defendants
timely removed the matter to the U.S. District Court for the Western District of New York.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Defendants moved to consolidate the &lt;i&gt;Buffalo&lt;/i&gt;
and &lt;i&gt;Rochester&lt;/i&gt; cases for pretrial purposes only. Defendants also moved to stay the cases pending a decision by the Second Circuit
Court of Appeals in &lt;i&gt;National Shooting Sports Foundation, Inc. et al. v. James&lt;/i&gt;, which challenges the constitutionality of the recently
enacted &lt;span style="font-variant: small-caps"&gt;N.Y. Gen. Bus. Law&lt;/span&gt; &#xa7;&#xa7;&#160;898-a&#x2013;e. On June 8, 2023, the court granted
Defendants&#x2019; motions and the cases were consolidated for pretrial purposes and stayed.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="text-decoration:underline"&gt;Negligence&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;i&gt;Rossiter v. Sturm, Ruger, et al.&lt;/i&gt; is a lawsuit
arising out of a slip and fall accident by a contract security officer in December 2019. The Complaint was filed in the Superior Court
for Sullivan County, New Hampshire on December 13, 2022 and names Pine Hill Construction, a snow removal contractor, as a Defendant. The
Company has tendered the defense of this matter to its insurance carrier and is assisting as required.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company was named in two purported class action
lawsuits arising out of a data breach at Freestyle Solutions, Inc., the vendor who was hosting the Company&#x2019;s ShopRuger.com website
at the time of the breach. &lt;i&gt;Jones v. Sturm, Ruger &amp;amp; Co.,&lt;/i&gt; was filed in the U.S. District Court for Connecticut on October 4,
2022 and &lt;i&gt;Copeland v. Sturm, Ruger &amp;amp; Company, et al.&lt;/i&gt; was filed in the U.S. District Court for New Jersey on October 27, 2022.
&lt;i&gt;Copeland&lt;/i&gt; also named Freestyle Solutions, Inc. as a defendant. By agreement of the parties, &lt;i&gt;Copeland&lt;/i&gt; was dismissed, without
prejudice, and consolidated with &lt;i&gt;Jones&lt;/i&gt; in the pending Connecticut case. On January 20, 2023, five plaintiffs filed an Amended Complaint
naming the Company and Freestyle Solutions, Inc. as defendants. The Complaint alleges causes of action for negligence, breach of implied
warranties, and unjust enrichment. The Company moved to dismiss the Amended Complaint, the motion has been briefed fully, and the parties
are awaiting a ruling.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Unfair Trade Practices&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;i&gt;Estate of Suzanne Fountain v. Sturm, Ruger
&amp;amp; Co., Inc.,&lt;/i&gt; was filed in the Connecticut Superior Court in Stamford and arises out of the criminal shootings at the King Soopers
supermarket in Boulder, Colorado on March 22, 2021. On that date, Plaintiff&#x2019;s decedent, Suzanne Fountain, was murdered by 21-year-old
&lt;span style="color: #202122; background-color: white"&gt;Ahmad Al Aliwi Al-Issa. The Complaint alleged that the Company&#x2019;s advertising
and marketing of the Ruger AR-556 pistol violate the Connecticut Unfair Trade Practices Act and were a substantial factor in bringing
about the wrongful death of Suzanne Fountain. &lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; color: #202122"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;i&gt;Estate of Neven Stanisic et al. v. Sturm, Ruger
&amp;amp; Co., Inc.,&lt;/i&gt; was filed in the Connecticut Superior Court in Stamford on behalf of five plaintiffs. Like &lt;i&gt;Estate of Suzanne Fountain&lt;/i&gt;,
the claims arise from the criminal shootings at the King Soopers supermarket in Boulder, Colorado on March 22, 2021. Plaintiffs&#x2019;
decedents were murdered by &lt;span style="color: #202122; background-color: white"&gt;Ahmad Al Aliwi Al-Issa and Plaintiffs alleged that the
Company&#x2019;s advertising and marketing of the Ruger AR-556 pistol violate the Connecticut Unfair Trade Practices Act and were a substantial
factor in causing the wrongful death of Plaintiffs&#x2019; decedents.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; color: #202122"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; color: #202122"&gt;&lt;span style="background-color: white"&gt;The
&lt;i&gt;Fountain&lt;/i&gt; and &lt;i&gt;Stanisic&lt;/i&gt; cases were consolidated for discovery purposes only and transferred by the court to the Complex Litigation
Docket. Plaintiffs then sought leave to file an Amended Complaint, essentially abandoning their negligent marketing allegations and advancing
a new theory predicated upon alleged violations of the Gun Control Act and National Firearms Act. Over the Company&#x2019;s objections,
Plaintiffs were permitted to file the Amended Complaint. &lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; color: #202122"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; color: #202122"&gt;&lt;span style="background-color: white"&gt;The
matter was timely removed to the U.S. District Court for the District of Connecticut based upon the new allegations and federal question
jurisdiction. Plaintiffs moved to remand the case to state court, the matter has been briefed fully, and the parties are awaiting a ruling.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Summary of Claimed Damages and Explanation
of Product Liability Accruals&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="color: #161118"&gt;Punitive damages&lt;/span&gt;&lt;span style="color: #2F262F"&gt;,&lt;/span&gt;
&lt;span style="color: #161118"&gt;as well as compensatory damages, are demanded in certain of the lawsuits and claims. In many instances&lt;/span&gt;&lt;span style="color: #2F262F"&gt;,&lt;/span&gt;
&lt;span style="color: #161118"&gt;the plaintiff does not seek a specified amount of money&lt;/span&gt;&lt;span style="color: #2F262F"&gt;,&lt;/span&gt; &lt;span style="color: #161118"&gt;though
aggregate amounts ultimately sought may exceed product liability accruals and applicable insurance coverage. For product liability claims
made after July 10, 2000&lt;/span&gt;&lt;span style="color: #2F262F"&gt;, &lt;/span&gt;&lt;span style="color: #161118"&gt;coverage is provided on an annual basis
for losses exceeding $5 million per claim&lt;/span&gt;&lt;span style="color: #2F262F"&gt;,&lt;/span&gt; &lt;span style="color: #161118"&gt;or an aggregate maximum
loss of $10 million annually&lt;/span&gt;&lt;span style="color: #2F262F"&gt;,&lt;/span&gt; &lt;span style="color: #161118"&gt;except for certain new claims which
might be brought by governments or municipalities after July 10&lt;/span&gt;&lt;span style="color: #2F262F"&gt;,&lt;/span&gt; &lt;span style="color: #161118"&gt;2000&lt;/span&gt;&lt;span style="color: #2F262F"&gt;,&lt;/span&gt;
&lt;span style="color: #161118"&gt;which are excluded from coverage.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="color: #161118"&gt;The Company management
monitors the status of known claims and the product liability accrual&lt;/span&gt;&lt;span style="color: #2F262F"&gt;,&lt;/span&gt; &lt;span style="color: #161118"&gt;which
includes amounts for asserted and unasserted claims. While it is not possible to forecast the outcome of litigation or the timing of costs&lt;/span&gt;&lt;span style="color: #2F262F"&gt;,&lt;/span&gt;
&lt;span style="color: #161118"&gt;in the opinion of management&lt;/span&gt;&lt;span style="color: #2F262F"&gt;,&lt;/span&gt; &lt;span style="color: #161118"&gt;after
consultation with special and corporate counsel, it is not probable and is unlikely that litigation&lt;/span&gt;&lt;span style="color: #2F262F"&gt;,&lt;/span&gt;
&lt;span style="color: #161118"&gt;including punitive damage claims&lt;/span&gt;&lt;span style="color: #2F262F"&gt;,&lt;/span&gt; &lt;span style="color: #161118"&gt;will
have a material adverse effect on the financial position of the Compan&lt;/span&gt;&lt;span style="color: #2F262F"&gt;y,&lt;/span&gt; &lt;span style="color: #161118"&gt;but
may have a material impact on the Company&#x2019;&lt;/span&gt;&lt;span style="color: #2F262F"&gt;s&lt;/span&gt; &lt;span style="color: #161118"&gt;financial results
for a particular period.&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; color: #161118"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Product liability claim payments are made when
appropriate if, as, and when claimants and the Company reach agreement upon an amount to finally resolve all claims. Legal costs are paid
as the lawsuits and claims develop, the timing of which may vary greatly from case to case. A schedule cannot be determined in advance
with any reliability concerning when payments will be made in any given case.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Provision is made for product liability claims
based upon many factors related to the severity of the alleged injury and potential liability exposure, based upon prior claim experience.
Because the Company's experience in defending these lawsuits and claims is that unfavorable outcomes are typically not probable or estimable,
only in rare cases is an accrual established for such costs.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In most cases, an accrual is established only
for estimated legal defense costs. Product liability accruals are periodically reviewed to reflect then-current estimates of possible
liabilities and expenses incurred to date and reasonably anticipated in the future. Threatened product liability claims are reflected
in the Company's product liability accrual on the same basis as actual claims; &lt;i&gt;i.e.&lt;/i&gt;, an accrual is made for reasonably anticipated
possible liability and claims handling expenses on an ongoing basis.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Often, a Complaint does not specify the amount
of damages being sought and a range of reasonably possible losses relating to unfavorable outcomes cannot be made. The dollar amount of
damages claimed at December 31, 2023 and December 31, 2022 was &lt;i&gt;de minimis&lt;/i&gt;. The amount claimed at December 31, 2021 was $1.1 million
and is set forth as an indication of possible maximum liability the Company might be required to incur in these cases (regardless of the
likelihood or reasonable probability of any or all of this amount being awarded to claimants) as a result of adverse judgments that are
sustained on appeal.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During 2023, one (1) traditional product liability
lawsuit was filed against the Company and one (1) was resolved. As of December 31, 2023, the Company was a defendant in seven (7) lawsuits
involving its products, including one (1) traditional product liability lawsuit, four (4) municipal lawsuits and two (2) lawsuits based
upon alleged unfair trade practices. The Company was also a defendant in two (2) negligence lawsuits.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During 2022, &lt;span style="-sec-ix-hidden: hidden-fact-39"&gt;no&lt;/span&gt; traditional product liability
lawsuits were filed against the Company and one (1) was resolved. As of December 31, 2022, the Company was a defendant in five (5) lawsuits
involving its products, including one (1) traditional product liability lawsuit and four (4) municipal lawsuits. The Company also was
a defendant in three (3) negligence lawsuits though, as discussed above, that number has since been reduced to two (2) lawsuits with the
consolidation of the &lt;i&gt;Jones&lt;/i&gt; and &lt;i&gt;Copeland&lt;/i&gt; matters.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During 2021, one (1) traditional product liability
lawsuit was filed against the Company.&#160; As of December 31, 2021, the Company was a defendant in four (4) lawsuits involving its products,
including two (2) traditional lawsuits and two (2) municipal lawsuits.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;The
Company&#x2019;s product liability expense was &lt;/span&gt;$1.5 million in 2023, &lt;span style="font-family: Times New Roman, Times, Serif"&gt;$1.3
million in 2022, and $1.1 million in 2021. This expense includes the cost of outside legal fees, insurance, and other expenses incurred
in the management and defense of product liability matters.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;A roll-forward of the product liability reserve and detail of product
liability expense for the three years ended December 31, 2023 follows:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Balance Sheet Roll-forward for Product Liability
Reserve&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold"&gt;
    &lt;td style="padding-bottom: 1pt; white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;Cash Payments&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="padding-bottom: 1pt; white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold"&gt;
    &lt;td style="white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;Balance&lt;br/&gt;
 Beginning&lt;br/&gt;
 of Year (a&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Accrued &lt;br/&gt;
Legal &lt;br/&gt;
Expense&lt;br/&gt;
 (Income)&lt;br/&gt;
 (b)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Legal Fees&lt;br/&gt;
 (c)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Settlements&lt;br/&gt;
 (d)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Balance &lt;br/&gt;
End of &lt;br/&gt;
Year (a)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 35%; text-align: justify"&gt;2021&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;1,126&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(7&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(227&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-36"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;892&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;892&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(417&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(167&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-37"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;308&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;308&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;500&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(129&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-38"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;679&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Income Statement Detail for Product Liability
Expense&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold"&gt;
    &lt;td style="white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Accrued &lt;br/&gt;
Legal &lt;br/&gt;
Expense (b)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Insurance&lt;br/&gt;
 Premium &lt;br/&gt;
Expense &lt;br/&gt;
(e)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Total &lt;br/&gt;
Product &lt;br/&gt;
Liability &lt;br/&gt;
Expense&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 61%; text-align: justify"&gt;2021&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(7&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;1,119&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;1,112&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;(417&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,524&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1,107&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;500&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,226&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1,726&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Notes&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;(a)&lt;/td&gt;&lt;td style="text-align: justify"&gt;The beginning and ending liability balances represent accrued legal fees only. Settlements and administrative
costs are expensed as incurred. Only in rare instances is an accrual established for settlements.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;(b)&lt;/td&gt;&lt;td style="text-align: justify"&gt;The expense accrued in the liability is for legal fees only. In 2022 and 2021, the costs incurred related
to cases that were settled or dismissed were less than the amounts accrued for these cases in prior years.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif"&gt;
&lt;tr style="vertical-align: top"&gt; &lt;td style="text-align: justify; width: 0.5in"&gt;(c)&lt;/td&gt; &lt;td style="text-align: justify"&gt;Legal fees represent payments to outside counsel related to product liability matters.&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;


&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;(d)&lt;/td&gt;&lt;td style="text-align: justify"&gt;Settlements represent payments made to plaintiffs or allegedly injured parties in exchange for a full
and complete release of liability.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;(e)&lt;/td&gt;&lt;td style="text-align: justify"&gt;Insurance expense represents the cost of insurance premiums.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;There were no insurance recoveries during any
of the above years.&lt;/p&gt;</us-gaap:LegalMattersAndContingenciesTextBlock>
    <rgr:ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis contextRef="c0" decimals="-6" id="ixv-15930" unitRef="usd">5000000</rgr:ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis>
    <rgr:ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities contextRef="c0" decimals="-6" id="ixv-15931" unitRef="usd">10000000</rgr:ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities>
    <us-gaap:LossContingencyDamagesSoughtValue contextRef="c16" decimals="-5" id="ixv-15932" unitRef="usd">1100000</us-gaap:LossContingencyDamagesSoughtValue>
    <us-gaap:LossContingencyNewClaimsFiledNumber contextRef="c0" decimals="0" id="ixv-15933" unitRef="pure">1</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyClaimsSettledNumber contextRef="c0" decimals="0" id="ixv-15934" unitRef="pure">1</us-gaap:LossContingencyClaimsSettledNumber>
    <rgr:LossContingencyNumberOfLawsuits
      contextRef="c0"
      decimals="INF"
      id="ixv-15935"
      unitRef="pure">-7</rgr:LossContingencyNumberOfLawsuits>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="c179"
      decimals="0"
      id="ixv-15936"
      unitRef="pure">1</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="c180"
      decimals="0"
      id="ixv-15937"
      unitRef="pure">4</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="c181"
      decimals="0"
      id="ixv-15938"
      unitRef="pure">2</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="c182"
      decimals="0"
      id="ixv-15939"
      unitRef="pure">2</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyClaimsSettledNumber contextRef="c15" decimals="0" id="ixv-15940" unitRef="pure">1</us-gaap:LossContingencyClaimsSettledNumber>
    <rgr:LossContingencyNumberOfLawsuits contextRef="c15" decimals="0" id="ixv-15941" unitRef="pure">-5</rgr:LossContingencyNumberOfLawsuits>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="c183"
      decimals="0"
      id="ixv-15942"
      unitRef="pure">1</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="c184"
      decimals="0"
      id="ixv-15943"
      unitRef="pure">4</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="c185"
      decimals="0"
      id="ixv-15944"
      unitRef="pure">3</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyNewClaimsFiledNumber contextRef="c16" decimals="0" id="ixv-15945" unitRef="pure">1</us-gaap:LossContingencyNewClaimsFiledNumber>
    <rgr:LossContingencyNumberOfLawsuits
      contextRef="c16"
      decimals="INF"
      id="ixv-15946"
      unitRef="pure">-4</rgr:LossContingencyNumberOfLawsuits>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="c186"
      decimals="0"
      id="ixv-15947"
      unitRef="pure">2</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="c187"
      decimals="0"
      id="ixv-15948"
      unitRef="pure">2</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:ProductLiabilityAccrualPeriodExpense contextRef="c0" decimals="-5" id="ixv-15949" unitRef="usd">1500000</us-gaap:ProductLiabilityAccrualPeriodExpense>
    <us-gaap:ProductLiabilityAccrualPeriodExpense contextRef="c15" decimals="-5" id="ixv-15950" unitRef="usd">1300000</us-gaap:ProductLiabilityAccrualPeriodExpense>
    <us-gaap:ProductLiabilityAccrualPeriodExpense contextRef="c16" decimals="-5" id="ixv-15951" unitRef="usd">1100000</us-gaap:ProductLiabilityAccrualPeriodExpense>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock contextRef="c0" id="ixv-15952">Balance Sheet Roll-forward for Product Liability
Reserve&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold"&gt;
    &lt;td style="padding-bottom: 1pt; white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;Cash Payments&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="padding-bottom: 1pt; white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold"&gt;
    &lt;td style="white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;Balance&lt;br/&gt;
 Beginning&lt;br/&gt;
 of Year (a&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Accrued &lt;br/&gt;
Legal &lt;br/&gt;
Expense&lt;br/&gt;
 (Income)&lt;br/&gt;
 (b)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Legal Fees&lt;br/&gt;
 (c)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Settlements&lt;br/&gt;
 (d)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Balance &lt;br/&gt;
End of &lt;br/&gt;
Year (a)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 35%; text-align: justify"&gt;2021&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;1,126&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(7&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(227&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-36"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;892&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;892&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(417&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(167&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-37"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;308&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;308&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;500&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(129&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-38"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;679&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;(a)&lt;/td&gt;&lt;td style="text-align: justify"&gt;The beginning and ending liability balances represent accrued legal fees only. Settlements and administrative
costs are expensed as incurred. Only in rare instances is an accrual established for settlements.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;(b)&lt;/td&gt;&lt;td style="text-align: justify"&gt;The expense accrued in the liability is for legal fees only. In 2022 and 2021, the costs incurred related
to cases that were settled or dismissed were less than the amounts accrued for these cases in prior years.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table border="0" cellpadding="0" cellspacing="0" style="width: 100%; margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif"&gt;
&lt;tr style="vertical-align: top"&gt; &lt;td style="text-align: justify; width: 0.5in"&gt;(c)&lt;/td&gt; &lt;td style="text-align: justify"&gt;Legal fees represent payments to outside counsel related to product liability matters.&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;(d)&lt;/td&gt;&lt;td style="text-align: justify"&gt;Settlements represent payments made to plaintiffs or allegedly injured parties in exchange for a full
and complete release of liability.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;(e)&lt;/td&gt;&lt;td style="text-align: justify"&gt;Insurance expense represents the cost of insurance premiums.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c188"
      decimals="-3"
      id="ix_0_fact"
      unitRef="usd">1126000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="c189"
      decimals="-3"
      id="ix_6_fact"
      unitRef="usd">-7000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <rgr:ValuationAllowancesAndReservesLegalFees
      contextRef="c189"
      decimals="-3"
      id="ix_9_fact"
      unitRef="usd">-227000</rgr:ValuationAllowancesAndReservesLegalFees>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c190"
      decimals="-3"
      id="ix_1_fact"
      unitRef="usd">892000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c190"
      decimals="-3"
      id="ix_2_fact"
      unitRef="usd">892000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="c191"
      decimals="-3"
      id="ix_7_fact"
      unitRef="usd">-417000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <rgr:ValuationAllowancesAndReservesLegalFees
      contextRef="c191"
      decimals="-3"
      id="ix_10_fact"
      unitRef="usd">-167000</rgr:ValuationAllowancesAndReservesLegalFees>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c192"
      decimals="-3"
      id="ix_3_fact"
      unitRef="usd">308000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c192"
      decimals="-3"
      id="ix_4_fact"
      unitRef="usd">308000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="c193"
      decimals="-3"
      id="ix_8_fact"
      unitRef="usd">500000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <rgr:ValuationAllowancesAndReservesLegalFees
      contextRef="c193"
      decimals="-3"
      id="ix_11_fact"
      unitRef="usd">-129000</rgr:ValuationAllowancesAndReservesLegalFees>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c194"
      decimals="-3"
      id="ix_5_fact"
      unitRef="usd">679000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ProductLiabilityContingenciesTextBlock contextRef="c0" id="ixv-15965">Income Statement Detail for Product Liability
Expense&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold"&gt;
    &lt;td style="white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Accrued &lt;br/&gt;
Legal &lt;br/&gt;
Expense (b)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Insurance&lt;br/&gt;
 Premium &lt;br/&gt;
Expense &lt;br/&gt;
(e)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Total &lt;br/&gt;
Product &lt;br/&gt;
Liability &lt;br/&gt;
Expense&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 61%; text-align: justify"&gt;2021&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(7&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;1,119&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;1,112&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;(417&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,524&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1,107&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;500&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,226&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1,726&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;(b)&lt;/td&gt;&lt;td style="text-align: justify"&gt;The expense accrued in the liability is for legal fees only. In 2022 and 2021, the costs incurred related
to cases that were settled or dismissed were less than the amounts accrued for these cases in prior years.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;(e)&lt;/td&gt;&lt;td style="text-align: justify"&gt;Insurance expense represents the cost of insurance premiums.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;</us-gaap:ProductLiabilityContingenciesTextBlock>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="c195"
      decimals="-3"
      id="ix_12_fact"
      unitRef="usd">-7000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ProductLiabilityAccrualPeriodExpense
      contextRef="c196"
      decimals="-3"
      id="ix_15_fact"
      unitRef="usd">1119000</us-gaap:ProductLiabilityAccrualPeriodExpense>
    <us-gaap:ProductLiabilityAccrualComponentAmount
      contextRef="c197"
      decimals="-3"
      id="ixv-15968"
      unitRef="usd">1112000</us-gaap:ProductLiabilityAccrualComponentAmount>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="c198"
      decimals="-3"
      id="ix_13_fact"
      unitRef="usd">-417000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ProductLiabilityAccrualPeriodExpense
      contextRef="c199"
      decimals="-3"
      id="ix_16_fact"
      unitRef="usd">1524000</us-gaap:ProductLiabilityAccrualPeriodExpense>
    <us-gaap:ProductLiabilityAccrualComponentAmount
      contextRef="c200"
      decimals="-3"
      id="ixv-15971"
      unitRef="usd">1107000</us-gaap:ProductLiabilityAccrualComponentAmount>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="c201"
      decimals="-3"
      id="ix_14_fact"
      unitRef="usd">500000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ProductLiabilityAccrualPeriodExpense
      contextRef="c202"
      decimals="-3"
      id="ix_17_fact"
      unitRef="usd">1226000</us-gaap:ProductLiabilityAccrualPeriodExpense>
    <us-gaap:ProductLiabilityAccrualComponentAmount
      contextRef="c203"
      decimals="-3"
      id="ixv-15974"
      unitRef="usd">1726000</us-gaap:ProductLiabilityAccrualComponentAmount>
    <us-gaap:FinancialInstrumentsDisclosureTextBlock contextRef="c0" id="ixv-13514">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;&lt;b&gt;21.&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Financial Instruments&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company does not hold or issue financial instruments
for trading or hedging purposes, nor does it hold interest rate, leveraged, or other types of derivative financial instruments. Fair values
of accounts receivable, accounts payable, accrued expenses and income taxes payable reflected in the December 31, 2023 and 2022 balance
sheets approximate carrying values at those dates.&lt;/p&gt;</us-gaap:FinancialInstrumentsDisclosureTextBlock>
    <us-gaap:SubsequentEventsTextBlock contextRef="c0" id="ixv-13528">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;&lt;b&gt;22.&lt;/b&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;b&gt;Subsequent Events&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On February 16, 2024, the Company&#x2019;s Board
of Directors authorized a dividend of 23&#xa2; per share to shareholders of record on March 15, 2024.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company&#x2019;s management has evaluated transactions
occurring subsequent to December 31, 2023 and determined that there were no events or transactions during that period that would have
a material impact on the Company&#x2019;s results of operations or financial position.&lt;/p&gt;</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:DividendsPayableAmountPerShare
      contextRef="c204"
      decimals="2"
      id="ixv-15980"
      unitRef="usdPershares">0.23</us-gaap:DividendsPayableAmountPerShare>
    <ecd:MtrlTermsOfTrdArrTextBlock contextRef="c99" id="ixv-13644">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Rule 10b5-1 Trading Plans&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;The adoption or termination
of contracts, instructions or written plans for the purchase and sale of the Company&#x2019;s securities by the Company&#x2019;s Section
16 officers or directors for the three months ended December 31, 2023, each of which is intended to satisfy the affirmative defense conditions
of Rule 10b5-1(c) under the Exchange Act (&#x201c;Rule 10b5-1 Plan&#x201d;), were as follows:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt; &lt;tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt; &lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; width: 15%; padding-right: 5.4pt; padding-left: 5.4pt"&gt;Name&lt;/td&gt; &lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; width: 23%; padding-right: 5.4pt; padding-left: 5.4pt"&gt;Title&lt;/td&gt; &lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; width: 13%; padding-right: 5.4pt; padding-left: 5.4pt"&gt;Action&lt;/td&gt; &lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; width: 15%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"&gt;Date &lt;br/&gt;
Adopted&lt;/td&gt; &lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; width: 17%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"&gt;Expiration &lt;br/&gt;
Date&lt;/td&gt; &lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-top: Black 1pt solid; border-bottom: Black 1pt solid; width: 17%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: right"&gt;Aggregate # of&lt;br/&gt; Securities to be &lt;br/&gt;
Purchased/Sold&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top; background-color: rgb(204,238,255)"&gt; &lt;td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"&gt;Christopher J. Killoy (1)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"&gt;President and Chief Executive Officer &lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"&gt;Adoption of Rule 10b5-1 Plan&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"&gt;November 7, 2023&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"&gt;May 7, 2024&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: right"&gt;30,000&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top; background-color: White"&gt; &lt;td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"&gt;John A. Cosentino, Jr. (2)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"&gt;Director&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"&gt;Adoption of Rule 10b5-1 Plan&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"&gt;November 7, 2023&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"&gt;November 7, 2024&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: right"&gt;3,000&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0.25in"&gt;&lt;/td&gt;&lt;td style="width: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td&gt;Christopher J. Killoy, an officer of the Company, entered into a Rule 10b5-1 Plan on November 7, 2023. Mr. Killoy&#x2019;s Rule 10b5-1
Plan provides for the potential sale of up to 30,000 shares of the Company&#x2019;s common stock. The Rule 10b5-1 Plan expires on May 7,
2024, or upon the earlier completion of all authorized transactions under such Rule 10b5-1 Plan.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0.25in"&gt;&lt;/td&gt;&lt;td style="width: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td&gt;John A. Cosentino, Jr., a director of the Company, entered into a Rule 10b5-1 Plan on November 7, 2023. Mr. Cosentino&#x2019;s Rule
10b5-1 Plan provides for the potential sale of up to 3,000 shares of the Company&#x2019;s common stock. The Rule 10b5-1 Plan expires on
November 7, 2024, or upon the earlier completion of all authorized transactions under such Rule 10b5-1 Plan.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="margin-top: 0pt; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.25in"&gt;None of the Company&#x2019;s directors or Section 16 officers
adopted or terminated a &#x201c;non-Rule 10b5-1 trading arrangement&#x201d; as defined in Item 408 of Regulation S-K during the three months
ended December 31, 2023.&lt;/p&gt;</ecd:MtrlTermsOfTrdArrTextBlock>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="c205" id="ixv-15981">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="c99" id="ixv-15982">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:TrdArrIndName contextRef="c205" id="ix_18_fact">Christopher J. Killoy</ecd:TrdArrIndName>
    <ecd:TrdArrIndTitle contextRef="c205" id="ix_19_fact">President and Chief Executive Officer</ecd:TrdArrIndTitle>
    <ecd:TrdArrAdoptionDate contextRef="c205" id="ix_20_fact">November 7, 2023</ecd:TrdArrAdoptionDate>
    <ecd:TrdArrSecuritiesAggAvailAmt
      contextRef="c206"
      decimals="0"
      id="ix_24_fact"
      unitRef="shares">30000</ecd:TrdArrSecuritiesAggAvailAmt>
    <ecd:TrdArrIndName contextRef="c207" id="ix_21_fact">John A. Cosentino, Jr.</ecd:TrdArrIndName>
    <ecd:TrdArrIndTitle contextRef="c207" id="ix_22_fact">Director</ecd:TrdArrIndTitle>
    <ecd:TrdArrAdoptionDate contextRef="c207" id="ix_23_fact">November 7, 2023</ecd:TrdArrAdoptionDate>
    <ecd:TrdArrSecuritiesAggAvailAmt
      contextRef="c208"
      decimals="0"
      id="ix_25_fact"
      unitRef="shares">3000</ecd:TrdArrSecuritiesAggAvailAmt>
    <ecd:NonRule10b51ArrAdoptedFlag contextRef="c99" id="ixv-15993">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrTrmntdFlag contextRef="c99" id="ixv-15994">false</ecd:NonRule10b51ArrTrmntdFlag>
    <dei:EntityWellKnownSeasonedIssuer contextRef="c0" id="hidden-fact-0">Yes</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers contextRef="c0" id="hidden-fact-1">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus contextRef="c0" id="hidden-fact-2">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="c0" id="hidden-fact-3">Yes</dei:EntityInteractiveDataCurrent>
    <us-gaap:DividendsPayableCurrent
      contextRef="c3"
      id="hidden-fact-4"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:TaxesPayableCurrent
      contextRef="c3"
      id="hidden-fact-5"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="c3"
      id="hidden-fact-6"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="c4"
      id="hidden-fact-7"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommonStockValue
      contextRef="c5"
      id="hidden-fact-8"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommonStockValue
      contextRef="c6"
      id="hidden-fact-9"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommonStockSharesIssued
      contextRef="c5"
      id="hidden-fact-10"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:CommonStockSharesIssued
      contextRef="c6"
      id="hidden-fact-11"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="c16"
      id="hidden-fact-12"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="c15"
      id="hidden-fact-13"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="c0"
      id="hidden-fact-14"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable
      contextRef="c16"
      id="hidden-fact-15"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="c16"
      id="hidden-fact-16"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:ContractWithCustomerLiability
      contextRef="c29"
      id="hidden-fact-17"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:DeferredRevenueRevenueRecognized1
      contextRef="c15"
      id="hidden-fact-18"
      unitRef="usd"
      xsi:nil="true"/>
    <rgr:RevenueDeferred
      contextRef="c16"
      id="hidden-fact-19"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:ContractWithCustomerLiability
      contextRef="c29"
      id="hidden-fact-20"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockPreferredShares
      contextRef="c81"
      id="hidden-fact-21"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c82"
      id="hidden-fact-22"
      unitRef="usdPershares"
      xsi:nil="true"/>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c81"
      id="hidden-fact-23"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockPreferredShares
      contextRef="c83"
      id="hidden-fact-24"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c84"
      id="hidden-fact-25"
      unitRef="usdPershares"
      xsi:nil="true"/>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c83"
      id="hidden-fact-26"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockPreferredShares
      contextRef="c87"
      id="hidden-fact-27"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c88"
      id="hidden-fact-28"
      unitRef="usdPershares"
      xsi:nil="true"/>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c87"
      id="hidden-fact-29"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockPreferredShares
      contextRef="c91"
      id="hidden-fact-30"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c92"
      id="hidden-fact-31"
      unitRef="usdPershares"
      xsi:nil="true"/>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c91"
      id="hidden-fact-32"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockPreferredShares
      contextRef="c93"
      id="hidden-fact-33"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c94"
      id="hidden-fact-34"
      unitRef="usdPershares"
      xsi:nil="true"/>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c93"
      id="hidden-fact-35"
      unitRef="shares"
      xsi:nil="true"/>
    <rgr:ValuationAllowancesAndReservesSettlements
      contextRef="c189"
      id="hidden-fact-36"
      unitRef="usd"
      xsi:nil="true"/>
    <rgr:ValuationAllowancesAndReservesSettlements
      contextRef="c191"
      id="hidden-fact-37"
      unitRef="usd"
      xsi:nil="true"/>
    <rgr:ValuationAllowancesAndReservesSettlements
      contextRef="c193"
      id="hidden-fact-38"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="c15"
      id="hidden-fact-39"
      unitRef="pure"
      xsi:nil="true"/>
    <dei:AmendmentFlag contextRef="c0" id="ixv-16037">false</dei:AmendmentFlag>
    <dei:DocumentFiscalPeriodFocus contextRef="c0" id="ixv-16038">FY</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey contextRef="c0" id="ixv-16039">0000095029</dei:EntityCentralIndexKey>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#ix_5_fact"
          xlink:label="ix_5_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_2_fact"
          xlink:label="ix_2_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_0_fact"
          xlink:label="ix_0_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_3_fact"
          xlink:label="ix_3_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_4_fact"
          xlink:label="ix_4_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_1_fact"
          xlink:label="ix_1_fact"
          xlink:type="locator"/>
        <link:footnote id="ix_0_footnote" xlink:label="ix_0_footnote" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">The beginning and ending liability balances represent accrued legal fees only. Settlements and administrative
costs are expensed as incurred. Only in rare instances is an accrual established for settlements.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_5_fact"
          xlink:to="ix_0_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_2_fact"
          xlink:to="ix_0_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_0_fact"
          xlink:to="ix_0_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_3_fact"
          xlink:to="ix_0_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_4_fact"
          xlink:to="ix_0_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_1_fact"
          xlink:to="ix_0_footnote"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#ix_6_fact"
          xlink:label="ix_6_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_14_fact"
          xlink:label="ix_14_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_7_fact"
          xlink:label="ix_7_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_8_fact"
          xlink:label="ix_8_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_12_fact"
          xlink:label="ix_12_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_13_fact"
          xlink:label="ix_13_fact"
          xlink:type="locator"/>
        <link:footnote id="ix_1_footnote" xlink:label="ix_1_footnote" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">The expense accrued in the liability is for legal fees only. In 2022 and 2021, the costs incurred related
to cases that were settled or dismissed were less than the amounts accrued for these cases in prior years.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_6_fact"
          xlink:to="ix_1_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_14_fact"
          xlink:to="ix_1_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_7_fact"
          xlink:to="ix_1_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_8_fact"
          xlink:to="ix_1_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_12_fact"
          xlink:to="ix_1_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_13_fact"
          xlink:to="ix_1_footnote"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#ix_10_fact"
          xlink:label="ix_10_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_11_fact"
          xlink:label="ix_11_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_9_fact"
          xlink:label="ix_9_fact"
          xlink:type="locator"/>
        <link:footnote id="ix_2_footnote" xlink:label="ix_2_footnote" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Legal fees represent payments to outside counsel related to product liability matters.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_10_fact"
          xlink:to="ix_2_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_11_fact"
          xlink:to="ix_2_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_9_fact"
          xlink:to="ix_2_footnote"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#hidden-fact-38"
          xlink:label="hidden-fact-38"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#hidden-fact-36"
          xlink:label="hidden-fact-36"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#hidden-fact-37"
          xlink:label="hidden-fact-37"
          xlink:type="locator"/>
        <link:footnote id="ix_3_footnote" xlink:label="ix_3_footnote" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Settlements represent payments made to plaintiffs or allegedly injured parties in exchange for a full
and complete release of liability.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="hidden-fact-38"
          xlink:to="ix_3_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="hidden-fact-36"
          xlink:to="ix_3_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="hidden-fact-37"
          xlink:to="ix_3_footnote"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#ix_16_fact"
          xlink:label="ix_16_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_17_fact"
          xlink:label="ix_17_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_15_fact"
          xlink:label="ix_15_fact"
          xlink:type="locator"/>
        <link:footnote id="ix_4_footnote" xlink:label="ix_4_footnote" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Insurance expense represents the cost of insurance premiums.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_16_fact"
          xlink:to="ix_4_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_17_fact"
          xlink:to="ix_4_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_15_fact"
          xlink:to="ix_4_footnote"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#ix_19_fact"
          xlink:label="ix_19_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_20_fact"
          xlink:label="ix_20_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_18_fact"
          xlink:label="ix_18_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_24_fact"
          xlink:label="ix_24_fact"
          xlink:type="locator"/>
        <link:footnote id="ix_7_footnote" xlink:label="ix_7_footnote" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Christopher J. Killoy, an officer of the Company, entered into a Rule 10b5-1 Plan on November 7, 2023. Mr. Killoy&#x2019;s Rule 10b5-1
Plan provides for the potential sale of up to 30,000 shares of the Company&#x2019;s common stock. The Rule 10b5-1 Plan expires on May 7,
2024, or upon the earlier completion of all authorized transactions under such Rule 10b5-1 Plan.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_19_fact"
          xlink:to="ix_7_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_20_fact"
          xlink:to="ix_7_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_18_fact"
          xlink:to="ix_7_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_24_fact"
          xlink:to="ix_7_footnote"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#ix_23_fact"
          xlink:label="ix_23_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_22_fact"
          xlink:label="ix_22_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_21_fact"
          xlink:label="ix_21_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_25_fact"
          xlink:label="ix_25_fact"
          xlink:type="locator"/>
        <link:footnote id="ix_8_footnote" xlink:label="ix_8_footnote" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">John A. Cosentino, Jr., a director of the Company, entered into a Rule 10b5-1 Plan on November 7, 2023. Mr. Cosentino&#x2019;s Rule
10b5-1 Plan provides for the potential sale of up to 3,000 shares of the Company&#x2019;s common stock. The Rule 10b5-1 Plan expires on
November 7, 2024, or upon the earlier completion of all authorized transactions under such Rule 10b5-1 Plan.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_23_fact"
          xlink:to="ix_8_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_22_fact"
          xlink:to="ix_8_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_21_fact"
          xlink:to="ix_8_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_25_fact"
          xlink:to="ix_8_footnote"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
